【问题标题】:save Load User Control Dynamic to viewstate将加载用户控件动态保存到视图状态
【发布时间】:2010-01-05 18:19:31
【问题描述】:

我将用户控件动态添加到页面并尝试保存到视图状态 当我尝试将占位符保存到视图状态时出现此错误 " PlaceHolder 未标记为可序列化。"

这是我的代码

  Controls_PriceControl ctrl = (Controls_PriceControl)LoadControl("../Controls/PriceControl.ascx");
    plcPrices.Controls.Add(ctrl);

    ViewState["plcPrices"] = plcPrices;

你能帮我解决这个问题吗?

谢谢!

【问题讨论】:

    标签: c# user-controls viewstate


    【解决方案1】:

    您不应该将实际控件保存到 ViewState,而应该只保存它们的状态(通常是属性)。保存和加载控件属性通常可以直接在属性声明中完成:

    public class FooControl : Control
    {
        public string Bar
        {
            get { return ViewState["Bar"] as string; }
            set { return ViewState["Bar"] = value; }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-07
      • 1970-01-01
      • 1970-01-01
      • 2012-05-14
      • 1970-01-01
      相关资源
      最近更新 更多