gpt4 book ai didi

asp.net - 丢失 WebForm 用户控件的状态

转载 作者:行者123 更新时间:2023-12-03 22:01:37 25 4
gpt4 key购买 nike

首先,我没有使用 ASP.NET WebForms 的经验。但是,我继承了一个非常古老的 WebForm 应用程序,我不得不时不时地对其进行维护。是这样的情况:

有一个具有私有(private)实例变量的用户控件。问题是,这些实例变量的值丢失了,很可能是在页面重新加载之后。到目前为止我发现的是,控制类似乎经常被重新创建。以下问题的答案会有所帮助:

  • WebForm 用户控件是否维护状态?
  • 如果是,一般是如何完成的(感谢指向在线资源的详细信息)
  • 如果否,能否以某种方式实现?有 sample 吗?

最佳答案

维护状态的最常见方法可能是使用 ViewState 而不是私有(private)实例字段。例如,如果您的 UserControl 包含属性 Text,您可以按如下方式定义它:

public string Text
{
get { return (string) ViewState["Text"]; }
set { ViewState["Text"] = value; }
}

您还可以将属性委托(delegate)给子控件。在这种情况下,子控件将为您维护 ViewState(前提是 EnableViewStatetrue)。例如:

public string Text
{
get { return MyTextBox.Text; }
set { MyTextBox.Text = value; }
}

Google for ViewState 了解更多信息。有陷阱,彻底了解它是个好主意。

关于asp.net - 丢失 WebForm 用户控件的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11029868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com