(ASP.NET用户控件)-设置属性时出现问题

本文关键字:属性 问题 设置 NET ASP 用户 控件 | 更新日期: 2023-09-27 18:25:41

我正在创建几个.NET用户控件,并试图找出设置属性的最佳方法。我有一个地址控件,我正在尝试创建一个名为ShowCountry的属性,该属性将隐藏或显示控件的国家/地区ddl。

我一直在尝试将我的大部分属性设置为类似以下代码:

public bool ShowCountry
{
    get { return (bool)ViewState["ShowCountry"]; }
    set
    {
        ViewState["ShowCountry"] = value;
        pnlCountry.Visible = value;
    }
}

如何设置此属性的默认值?当我运行带有控件的页面时,当ShowCountry用于我的一个函数时,它会立即在"get{}"中出错,因为我从未在控件的标记中设置ShowCountry="false"。如果我在声明控件时设置此属性,一切都会正常工作。另外,我对ViewState所做的是在回发中保持属性值的好方法吗?

有人能告诉我他们将如何书写这处房产吗?规格为:必须在回发中保持值,必须默认为false

(ASP.NET用户控件)-设置属性时出现问题

为了避免错误,您可以尝试这样做。。

 public bool ShowCountry
    {
        get {
             if(ViewState["ShowCountry"] != null ){
               return (bool)ViewState["ShowCountry"];
             }
             else { 
               //return the default value
               return false; 
              }
         }
        set
        {
            ViewState["ShowCountry"] = value;
            pnlCountry.Visible = value;
        }
    }

我认为视图状态是最好的方法,或者你可以使用隐藏字段,以节省回邮的价值。