我希望能够使用隐藏字段将数据从一个aspx页面传递到另一个页面。
在pageone.aspx上,在page_load中,我将数据保存到隐藏字段中:
ClientScript.RegisterHiddenField("var1", "hello");
然后,用户点击pageone.aspx上的按钮,该按钮重定向到pagetwo.aspx
Response.Redirect(Constant.AdminUser, true);
然后,在pagetwo.aspx的page_load中,我抓住了Pageone的hiddenfield:
Request.Params["var1"]
但没有任何回报。
出于某种原因,当我将Response.Redirect替换为Server.Transfer
时,我会在pagetwo.aspx
中获取数据,这就是我想要的。但浏览器的URL不会改变。
我希望能够将数据从pageone传递到pagetwo,而不会将数据存储在会话变量,url,数据库,缓存等中。我想使用隐藏字段发送它。
答案 0 :(得分:0)
MSDN有一篇关于处理跨页面发布的完整文章。
http://msdn.microsoft.com/en-us/library/ms178139.aspx
TL; DR:你必须使用@PreviousPageType声明注册上一页,然后调用PreviousPage属性。
答案 1 :(得分:0)
我做了一些非常相似的事情,我所做的就是删除我的Server.Transfer
行,并在我的按钮上保留PostBack Url。
如果您同时拥有它们,则您的网址不会更改。