(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
为了避免错误,您可以尝试这样做。。
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;
}
}
我认为视图状态是最好的方法,或者你可以使用隐藏字段,以节省回邮的价值。