前后台编码的问题
后台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