C# 类成员在asp net webforms中存储在何处/如何存储 名称空间测试 { 公共部分类WebForm2:System.Web.UI.Page { 受保护的无效页面加载(对象发送方、事件参数e) { 列表标签=新列表(); //从数据库获取数据并填充列表的代码 for(int i=0;i

C# 类成员在asp net webforms中存储在何处/如何存储 名称空间测试 { 公共部分类WebForm2:System.Web.UI.Page { 受保护的无效页面加载(对象发送方、事件参数e) { 列表标签=新列表(); //从数据库获取数据并填充列表的代码 for(int i=0;i,c#,asp.net,webforms,C#,Asp.net,Webforms,实例变量不会被框架持久化。当当前请求结束时,它们将被丢弃。如果要维护状态,必须手动持久化它们 ASP.NET不会在请求之间保持持久的内存状态。这是一种反模式。实例变量不会被框架持久化。当当前请求结束时,它们将被丢弃。如果要保持状态,必须手动持久化它们 ASP.NET不会在请求之间保持持久的内存状态。这是一种反模式。SO社区无法了解您的站点如何存储数据。请随意阅读/调试代码以了解数据。SO社区无法了解您的站点如何存储数据。请随意阅读/调试代码以了解数据。采取什么行动最让我困惑的是,当我单击Imag

实例变量不会被框架持久化。当当前请求结束时,它们将被丢弃。如果要维护状态,必须手动持久化它们


ASP.NET不会在请求之间保持持久的内存状态。这是一种反模式。

实例变量不会被框架持久化。当当前请求结束时,它们将被丢弃。如果要保持状态,必须手动持久化它们


ASP.NET不会在请求之间保持持久的内存状态。这是一种反模式。

SO社区无法了解您的站点如何存储数据。请随意阅读/调试代码以了解数据。SO社区无法了解您的站点如何存储数据。请随意阅读/调试代码以了解数据。采取什么行动最让我困惑的是,当我单击ImageButtons时,我得到了相应的标签ID,我希望得到null或未初始化的东西,因为我没有保留类实例。您可能正在同一请求中初始化该变量。或者,您是否使用数据绑定?在这种情况下,框架可以通过ViewState传递状态。经过测试,我当我用空值(value=“”)发出请求时,它似乎将所需的数据保存在ViewState中,标签保持不变。真正让我困惑的是,当我单击ImageButtons时,我得到了相应的标签ID,我希望得到null或未初始化的东西,因为我没有保留类实例。您可能正在同一请求中初始化该变量。或者,您是否使用数据绑定?框架可以通过V在这种情况下是iewState。对其进行测试后,它似乎将所需的数据保留在ViewState中,当我使用空值(value=“”)发出请求时,标签保持不变
 namespace test
{
    public partial class WebForm2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

           List<Sticker> stickers = new List<Sticker>();
           //code that gets data from database and fills the list

                 for(int i = 0; i<stickers.Count;i++)
                {
                     Panel1.Controls.Add(stickers[i]);
                }
        }
    }
    class Sticker : ImageButton
    {
        string StickerID { get; set; }
        string PlayerName { get; set; }
        DateTime Date { get; set; }
        Label l;
        public Sticker(string StickerID, string Extension, string PlayerName, DateTime Date,Label l)
        {
            //code for setting data
            base.Click += new ImageClickEventHandler(Sticker_Click);
        }

        void Sticker_Click(object sender, ImageClickEventArgs e)
        {
            l.Text = StickerID;

        }
    }
}