XSLT存档  

不及格的程序员-八神

 查看分类:  ASP.NET XML/XSLT JavaScripT   我的MSN空间Blog

2022-10-24 想到另一个方法,将双引号中的内容Base64编码,可以辟免许多场合的特殊字符交叉,在JSON或XML中网络传递很方便。

Base64FormattingOptions Enumeration

OnClientClick="if(jQuery("input[name$='chkSelect'][type='checkbox'][disabled!='disabled']:checked").length == 0){alert('未选任何记录!');return false;}" 
<script type="text/javascript" src="/xxx.js?date=<%=DateTime.Now.ToString("yyyyMMddHHmmss")%>"></script>
<%=this.ClientScript.GetPostBackEventReference(this.btnPrint,"")%>;
<a href="#" style="cursor: pointer;" onclick="alert('xxx.aspx?ClientCode=<%# Eval("field")%>',1200,700);">click me</a>
<asp:LinkButton ID="test" runat="server" onclick="test_click" CommandArgument='<%#Eval("filed")%>'>click me</asp:LinkButton>
<a target="_blank" href="./xxx.aspx?cGoodID=<%#HttpUtility.UrlEncode(Eval("cGoodID").ToString())%>&beginDate=<%#HttpUtility.UrlEncode(DateTime.Now.AddDays(-30).ToString("yyyy-MM-dd")) %>">title</a>
还有一种情况可能引号嵌套几层,这样运行也会出现错误或者直接不识别<%#Eval("Answer")%>' 标记,例如
<asp:RadioButton ID="RadioButton5" GroupName="option" runat="server" onclick='getScore("<%#Eval("Answer")%>")'/>

在控件的onclick添加一个js方法getScore需要传递一个参数,参数我们想通过后台动态绑定,这样虽然不会报错,但是查看源码之后发现<%标记没有识别,我们可以通过string.Format方法来解决如下:
<asp:RadioButton ID="RadioButton5" GroupName="option" runat="server" onclick='<%#string.Format("getScore(\"{0}\",\"{1}\")",Eval("Answer"),"A") %>'/>

我们把需要转义的符号转义一下,最后就得到我们想要的结果了。
ajaxSendDataToCCB("<?xml version=&quot;1.0&#34; encoding='GBK'?><singlee><TransId>01</TransId><Tramt>000000000001</Tramt><CardType>H</CardType><QrCode></QrCode></singlee>");

 

posted on 2018-03-19 15:35  不及格的程序员-八神  阅读(60)  评论(0编辑  收藏  举报