为什么我无法从PreviousPage检索公共属性?

时间:2017-03-29 21:00:10

标签: c# asp.net .net postback

我正在努力实现从源页面获取公共属性值下的here所描述的内容。

阅读完这些SO问题后:

How to Persist Variable on Postback

How to pass values across the pages in ASP.net without using Session

我得出的结论是,似乎不可能这样做(从PreviousPage变量中检索公共属性)。

这是我的尝试:

在源代码页代码隐藏(SourcePage.aspx.cs)中:

public MyClass PublicProperty { get; set; }

在目标源代码(TargetPage.aspx)中:

<%@ 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.csPreviousPage.PublicProperty等于null

我的问题是,有什么办法可以让它发挥作用吗?如果没有,为什么这被建议作为MSDN的方法?这是否适用于其他版本的ASP,或者我只是做错了什么?

非常感谢您的时间和任何建议

0 个答案:

没有答案