日期:2014-05-19  浏览次数:20488 次

帮看下。。。。。
private   void   Bu_Add_Click(object   sender,   System.Web.UI.ImageClickEventArgs   e)
                {  
                        this.Response.Redirect( "../Refer/ProductRefer.aspx?cCusCode= "+System.Web.HttpUtility.HtmlEncode(this.LaCusCode.Text.Trim())+ "&cCusName= "+System.Web.HttpUtility.HtmlEncode(this.LaCusName.Text));
                }

这是页面跳转时向要跳转的页面传递参数,LaCusCode是一个WEB(Label)控件,将Label的内容赋给cCusCode为什么前面+了个System.Web.HttpUtility.HtmlEncode呢,啥意思?cCusCode= "+this.LaCusCode.Text.Trim()+ "这样不行吗?

------解决方案--------------------
是要通过System.Web.HttpUtility.HtmlEncode()方法对this.LaCusCode.Text.Trim()的内容进行编码,编码可防止参数传递过程发生乱码。
------解决方案--------------------
URL 编码确保所有浏览器均正确地传输 URL 字符串中的文本。在某些浏览器中,像 ?、&、/ 和空格这样的字符可能会被截断或损坏,因此这些字符必须在 <a> 标记或查询字符串中编码,在查询字符串中编码时,浏览器能以请求字符串的形式重新发送这些字符串。