我正在努力实现从源页面获取公共属性值下的here所描述的内容。
阅读完这些SO问题后:
How to Persist Variable on Postback
How to pass values across the pages in ASP.net without using Session
我得出的结论是,似乎不可能这样做(从PreviousPage
变量中检索公共属性)。
这是我的尝试:
public MyClass PublicProperty { get; set; }
<%@ PreviousPageType VirtualPath="~/SourcePage.aspx" %>
TextBox1.Text = PreviousPage.PublicProperty.PoNumber;
来自SourcePage.aspx.cs
中的事件处理程序,我正在调用(尝试使用和不使用第二个参数):
Server.Transfer("~/TargetPage.aspx", true);
但是,当然,在页面实际转移到之前,Page_Load
会调用SourcePage.aspx.cs
,因此重置PublicProperty
,一旦服务器到达TargetPage.aspx.cs
, PreviousPage.PublicProperty
等于null
。
我的问题是,有什么办法可以让它发挥作用吗?如果没有,为什么这被建议作为MSDN
的方法?这是否适用于其他版本的ASP,或者我只是做错了什么?
非常感谢您的时间和任何建议