当前位置:编程学习 > C#/ASP.NET >>

前后台编码的问题

后台
string str="...";//str是一个多行,包含单引号、反斜杠的字符串

//后台用HttpUtility.UrlEncode编码,前台用decodeURIComponent解码
string s="'" + HttpUtility.UrlEncode(str, System.Text.Encoding.UTF8).Replace("\'", "\\'") + "'";

HyperLink1.NavigateUrl = "javascript:showText("+ s + ");";          //第1条语句
ImageButton1.OnClientClick = "showText("+ s + "); return false;";   //第2条语句

前台页面
<script type="text/javascript" >
function showText(sText)
{
    //第1条语句会引起sText乱码;
    var s=decodeURIComponent(sText);
    $("<%=lblText.ClientID %>").innerText=s;
}
</script>

结果是,点击HyperLink1出现乱码,点击ImageButton1正常。
为什么第1条语句会引起乱码,而第二条不会? --------------------编程问答-------------------- href 和onclick的传值方式不一样 你可以在浏览器设置里面改 --------------------编程问答-------------------- “浏览器设置里面改”?
改代码不可以吗? --------------------编程问答-------------------- 没人能帮帮我吗??
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,