WebPart的自定义属性,主要包括: 一般的文字属性,及需要使用 Checkbox , RadioButton, Dropdownlist 及 Grid 来定义和选择的属性...
- 一般的文字属性,如输入文本,数字,如下例:
private string _list_name = ""; private int _tb_of_column = 2;
[WebBrowsable(true), WebDisplayName("List Name"), System.ComponentModel.Category("Setting"), Personalizable(PersonalizationScope.User)]
public string GetListName
{
get { return _list_name; }
set { _list_name = value; }
}
[WebBrowsable(true), WebDisplayName("Number of Column"), System.ComponentModel.Category("Setting"), Personalizable(PersonalizationScope.User)]
public int GetTableColumn
{
get { return _tb_of_column; }
set { _tb_of_column = value; }
}
- 使用 Checkbox 来让用户选择的属性,关键是定义时使用Bool / Boolean 即可, 如下例:
private bool _allow_Nullvalue =true;
[WebBrowsable(true), WebDisplayName("Allow Null Value"), System.ComponentModel.Category("Setting"), Personalizable(PersonalizationScope.User)]
public bool AllowNullValue
{
get { return _allow_Nullvalue; }
set { _allow_Nullvalue = value; }
}
- 使用 DropDownList 让用户选择的属性,关键是使用自定义的Enum 类型来实现,如下例:
public enum OrderByType
{
ASC,
DESC
}
private OrderByType _myorderby = OrderByType.ASC;
[WebBrowsable(true), WebDisplayName("Order by"), System.ComponentModel.Category("Setting"), Personalizable(PersonalizationScope.User)]
public OrderByType getOrderBy
{
get { return _myorderby; }
set { _myorderby = value; }
}
但对 DropDownList 中的值如果想使用来自 DB 的值,仍未能解决。
使用 Radio Button / Grid 等其它控件的属性,暂时不知如何处理,可能要用到更复杂的代码,而非仅仅在定义属性时用不同的 Datatype,希望尽快可以解决,并将相关例子代码放在这里,如有知道的,也希望能在这里留言,先谢了。
* 如何使用代码来修改属性值?
必须使用代码: this.SaveProperties = true, 否则,用代码修改后,中间可以看到变更,但页面Postback 之后,仍会恢复原来的值,即无法真正修改过来,如下例,因并不是直接在界面中修改(有默认值),故必须加上代码this.SaveProperties = true ,才能真正修改有效:
[WebBrowsable(true), WebDisplayName("Cache Key (Require Unique)"), System.ComponentModel.Category("Setting"), Personalizable(PersonalizationScope.User)]
public string CacheKey
{
get
{
try
{
this.SaveProperties = true;
if (_CacheKey == "")
return "Key_" + this.ID.Replace("_", "");
else
return _CacheKey;
}
catch
{
return _CacheKey;
}
}
set { _CacheKey = value; }
}

本文详细介绍了WebPart中自定义属性的设置方法,包括文本、数字、布尔型、枚举类型属性及其个性化配置,同时探讨了如何通过代码进行属性值的修改。

204

被折叠的 条评论
为什么被折叠?



