Javascript字符串格式化
本文关键字:格式化 字符串 Javascript | 更新日期: 2023-09-27 18:09:49
在我的c# web应用程序中,我必须通过点击服务器端按钮代码将下面的html字符串传递给客户端函数。我正在使用Firefox浏览器。
htmlString是:
<div id='divPopUpToXyz.abc@def.com'>
<table>
<tr>
<td>
<img width='10' src='../images/cross.gif' onclick='deleteDiv(1,'ToXyz.abc@def.com','To')>
</td>
<td>
Xyz.abc@def.com
</td>
</tr>
</table>
</div>
在服务器端,我用它来调用所需的JS函数:
Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "returnValue('" + htmlString+ "');", true);
但是我得到了这样的错误:
参数列表后面的"missing "
我检查了firebug,发现htmlstring被扭曲成这样:
<div id='divPopUpToXyz.abc@def.com'>
<table>
<tbody>
<tr>
<td>
<img src="../images/cross.gif" onclick="deleteDiv(1," toXyz.abc@def.com','to')="" width="10">
</td>
<td>
Xyz.abc@def.com
</td>
</tr>
</tbody>
</table>
</div>
我不明白为什么它会这样变化。
您没有传递您期望传递的值
onclick='deleteDiv(1,'ToXyz.abc@def.com','To'
被解释为两个属性
onclick='deleteDiv(1,'
ToXyz.abc@def.com','To'=""
因为1后面的第一个'终止了onclick属性赋值
将htmlString赋值更改为
var htmlString = HttpUtility.JavaScriptStringEncode(@"<div id='divPopUpToXyz.abc@def.com'><table><tr><td><img width='10' src='../images
/cross.gif' onclick='deleteDiv(1,""ToXyz.abc@def.com"",""To"")'>
</td><td>Xyz.abc@def.com</td>
</tr></table></div>");
你应该可以走了