关于C#转义的疑问与解答

关于C#转义的提问 

 
 
 
  1. public void BuilJavaEvent()   
  2. {   
  3. this.DataSetToXml();   
  4. this.Attributes.Add("onkeypress","javascript:var jsXml = new ActiveXObject('Msxml2.DOMDocument') ;jsXml.loadXML('\" + document.getElementById('XmlValue').value+\";"this.GetJavaStrHtmlID());   
  5. }  

我想通过c#脚本代码返回到前台一段js脚本,但是其中的双引号(/")到前台后变成"这有办法解决吗,或者是不是我这方法不对。

C#转义的回答1

用Replace,比如Replace("Program Files","\"Program Files\"") 这样Program Files就变成了"Program Files"。

C#转义的回答2

用\"没用,是你的方法不对,你是通过Attributes进去的,页面上其实是自动生成了onkeypress="....." 如果在.....中有双引号,你说会发生什么???***个双引号就会把=后面那个给匹配结束掉,所以在这里是不能用双引号的。用单引号.如果需要多层嵌套,不能这么写,定义一个function,然后调用.。

C#转义的回答3

XML自动转换的,我没有试过这样回写客户端,我一般都是在ASP中直接Response,XML对于这种好像需要使用 CDATA类型就不会自动转换.

【编辑推荐】

  1. 浅析C#转义字符双引号的实现方法
  2. C#转义字符总结
  3. C#进度条使用之多线程应用浅析
  4. C#进度条实现之异步实例浅析
  5. C#进度条实现实例
THE END