【发布时间】:2014-06-23 13:16:14
【问题描述】:
在我的 C# web 应用程序中,我必须通过单击服务器端按钮代码将下面的 html 字符串传递给客户端函数。我用的是火狐浏览器。
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>
我不明白为什么会这样变化。
请提出一些出路。
【问题讨论】:
-
您的
htmlString包括单引号内的单引号(查看您的onclick处理程序,其中之一)。然后,您将其包含在returnValue()中,并用 more 单引号括起来。浏览器正在尽可能多地理解这一切。获取htmlString的内容自行正确引用,然后使用HttpUtility.JavaScriptStringEncode准备将其包含在returnValue()调用中 -
初始化 htmlString 的代码在哪里(您发布的不是有效字符串)
-
您可能想在某处添加 html 内容?
标签: c# javascript