Javascript字符串格式

时间:2014-06-23 13:16:15

标签: c# javascript

在我的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>

我不明白为什么会这样改变。

请提出一些建议。

1 个答案:

答案 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>");

你应该好好去