我是asp.net的新手。当有人按下default.aspx上的按钮时,这会将用户带到response.direct的default2.aspx。 default.aspx上有一些局部变量,我希望将其转移到下一页。我想知道他们的价值观。例如,如果有人在default.aspx的文本框中输入了文本,我想在下一页上知道该值。非常感谢你的时间。
答案 0 :(得分:4)
听起来你正在寻找cross-page postbacks。
从源页面获取信息
为其配置页面时 跨页发布,你经常 想从中获取信息 源页面。这可能包括 来自控制的信息 页面 - 也就是信息 由浏览器发布 - 以及 源页面的公共属性。
获取控制值
Page类公开了一个属性 命名为PreviousPage。如果是源页面 和目标页面是一样的 ASP.NET应用程序,PreviousPage 目标页面中的属性包含一个 引用源页面。 (如果 页面不是跨页面的目标 发布,或者页面是否在 不同的应用程序, PreviousPage属性不是 初始化。)默认情况下, PreviousPage属性的类型为 页。
答案 1 :(得分:3)
您可以使用Session或Page.PreviousPage.FindControl(“previousPageTextBox”);
IE:
TextBox myTxt = (TextBox)Page.PreviousPage.FindControl("previousPageTextBox");
currentPageTextBox.text = myTxt.Text;
答案 2 :(得分:2)
听起来你想使用Server.Transfer而不是Response.redirect。
您不应该使用会话来保留请求变量,因为如果用户总是有机会打开多个选项卡。
答案 3 :(得分:1)
您可以使用SessionState