首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

求指导,关于页面回发时改变server.urlencode("中文的内容"),怎么处理

2012-04-01 
求指导,关于页面回发时改变server.urlencode(中文的内容),怎么办?测试default.aspx button1.click事件re

求指导,关于页面回发时改变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就给你改变了。
[解决办法]

探讨
测试default.aspx button1.click事件response.redirect("default2.aspx?a=" + server.urlencode("中文"));
default2.aspx只有一个button1,事件是空的,当第一个页面点BUTTON1后,default2.aspx的地址是一个值,而单击页面中的BUTTON后,地址栏的内容改变了?

热点排行