C# 为什么可以';我不能从上一页检索公共属性吗?

C# 为什么可以';我不能从上一页检索公共属性吗?,c#,asp.net,.net,postback,C#,Asp.net,.net,Postback,我正在尝试实现从源页面获取公共属性值中所述的功能 阅读这些问题后: 我得出的结论是,这样做似乎是不可能的(从PreviousPage变量中检索公共属性) 以下是我的尝试: 在源代码页隐藏(SourcePage.aspx.cs)中: 在目标源代码(TargetPage.aspx)中: 从SourcePage.aspx.cs中的事件处理程序,我正在调用(尝试使用第二个参数和不使用第二个参数): 当然,在页面实际传输到之前,SourcePage.aspx.cs中调用了page\u Load,因此

我正在尝试实现从源页面获取公共属性值中所述的功能

阅读这些问题后:

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


以下是我的尝试:

在源代码页隐藏(SourcePage.aspx.cs)中: 在目标源代码(TargetPage.aspx)中: 从
SourcePage.aspx.cs
中的事件处理程序,我正在调用(尝试使用第二个参数和不使用第二个参数):

当然,在页面实际传输到之前,
SourcePage.aspx.cs
中调用了
page\u Load
,因此
PublicProperty
被重置,一旦服务器到达
TargetPage.aspx.cs
PreviousPage.PublicProperty
就等于
null


我的问题是,有什么办法能让这一切顺利进行吗?如果不是,为什么建议在
MSDN
上使用此方法?这是否适用于其他版本的ASP,或者我只是做错了什么


非常感谢您抽出时间,您能提供的任何建议在
服务器中都是一样的。传输
响应。重定向
?如果它曾经绑定工作,它将与
server.transfer
@T.S.一起工作。是的,我得到了相同的结果。我先尝试了
Response.Redirect
,但我链接的文章建议使用
Transfer
,所以我假设这是正确的方法(但谁知道这些MSDN文章!)我认为没有办法
Response.Redirect
会起作用。确保没有任何特殊代码清除这些属性。将debuggerinfo放入属性中,并查看它们在哪里被清除。尝试调用此
TextBox1.Text=PreviousPage.PublicProperty.PoNumber打开
init
。这是您获得价值的最佳机会。另外,尝试创建简单属性
public int A{get{return 5;}}
,并查看是否获得该值。
public MyClass PublicProperty { get; set; }
<%@ PreviousPageType VirtualPath="~/SourcePage.aspx" %>
TextBox1.Text = PreviousPage.PublicProperty.PoNumber;
Server.Transfer("~/TargetPage.aspx", true);