<a href="javascript:void(0);" title="转发信息" class="RMessage" οnclick="SMSSendMessage('','<%# Server.UrlEncode(Eval("C_SenText").ToString().Trim()) %>');">
转发信息</a>这必须用Server.UrlEncode()方法对文本编码,不然文本里含有全角的字符时,会报“未结束的字符串常量”异常。在js里对文本进行解码:obj.SMSContent = decodeURIComponent(SMSContent);得用decodeURIComponent()解码,不能用decodeURI(),因为它对Server.UrlEncode()编码后的“:”、“/”、“;”、“@”和“?”是没作用的,反过来说,ecodeURI()不会对这些字符进行编码。
个人小经验,讲得不够全面,希望对大家有所启发。
encodeURIComponent可以对URL编码.~~
function EncodeURI(url, key, value) { var keyArr = key.split(','); var valueArr = value.split(','); var URI; var i=0; do { if(i==0) URI = url + "?" + keyArr[i] + '=' + encodeURIComponent(valueArr[i]); else URI += "&" + keyArr[i] + "=" + encodeURIComponent(valueArr[i]); i++; }while(i<keyArr.length) location.href = URI; }