0

这是出于学术目的,请不要回答“你为什么要这样做”

如果我有一个名为 Home.aspx 的页面,并且它在 Home.aspx.cs 后面有一个代码。

在 Home.aspx.cs 我有一些公共属性,例如

public string Name { get; set; }

我有另一个页面叫做 Error.aspx

我可以从 Error.aspx.cs 中创建 Home.aspx.cs 的实例并访问 Name 属性吗?如果没有,为什么不呢。

4

3 回答 3

1

我可以从 Error.aspx.cs 中创建 Home.aspx.cs 的实例并访问 Name 属性吗?如果没有,为什么不呢。

是的你可以...

于 2013-01-09T18:58:52.480 回答
1

我可以从 Error.aspx.cs 中创建 Home.aspx.cs 的实例并访问 Name 属性吗?

是的,您可以创建一个实例,就像任何其他对象一样。你可以做:

Home h = new Home();
h.Name = "Hello;

但它是一个新实例,里面没有用户特定的数据......换句话说:它不是用户看到的“真实”页面的实例

我猜你的下一个问题是 -如果我Error从页面进入该Home页面,我可以访问这些属性吗?简单的答案是否定的。

如果要在页面之间传递数据,则应使用Session对象、Cache或其他类似概念。

于 2013-01-09T18:59:03.560 回答
1

如果您在用户被重定向到错误页面后尝试从主页上的控件获取值,您也可以尝试使用 PreviousPage.FindControl() 方法...

TextBox txt = (TextBox)Page.PreviousPage.FindControl("SomeText");

或者

string str = (TextBox)Page.PreviousPage.FindControl("SomeText").Text;

其中“SomeText”是您要从中读取的控件的 ID 值。

于 2013-01-10T03:40:51.933 回答