求指导,关于页面回发时改变server.urlencode("中文的内容"),怎么办?
测试default.aspx button1.click事件response.redirect("default2.aspx?a=" + server.urlencode("中文"));
default2.aspx只有一个button1,事件是空的,当第一个页面点BUTTON1后,default2.aspx的地址是一个值,而单击页面中的BUTTON后,地址栏的内容改变了?
------解决方案--------------------你在Default2.aspx页面首次加载的时候,获取到传递过来的参数,然后保存在ViewState中即可,这样无论你怎么操作该页面,都是可以通过ViewState来访问刚才从Default1.aspx页面中传递过来的值的。
public void Page_Load(object sender,EventArgs e)
{
if(!IsPostBack)
{
ViewState["args"] = Server.UrlDecode(Request.QueryString["a"].Trim());
}
}
public void Button1_Click(object sender,EventArgs e)
{
Response.Write("<script>alert('"+ViewState["args"].ToString()+"');</script>");
}
------解决方案--------------------LZ可以在pageload事件里面加一个
if(!IsPostBack)
{
}
来确认是否有回发
------解决方案--------------------你点击 又向服务器请求一次,自动URL就给你改变了。
------解决方案--------------------