在我的C#webapplication中,我必须通过单击服务器端按钮代码将此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);
但是我收到这样的错误:
“缺少”参数列表“
之后
我通过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>
我不明白为什么会这样改变。
请提出一些建议。
答案 0 :(得分:0)
你没有传递你期望传递的价值
onclick='deleteDiv(1,'ToXyz.abc@def.com','To'
被解释为两个属性
onclick='deleteDiv(1,'
ToXyz.abc@def.com','To'=""
因为第一个&#39;以下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>");
你应该好好去