一、新建一个webPart
我们在工程里新建一个名为WebPartWithAttribute的可视化部件
二、增加自定义属性
在新建的webpart里找到WebPartWithAttribute.cs文件。在里面添加如下代码:
[Personalizable(PersonalizationScope.Shared),
WebBrowsable, Category("DB Connection"),
WebDisplayName("DB Connection String"),
WebDescription("DB Connection string.")]
public string DBConnectionString { get; set; }
我们看到其中几个字符串,作用如下图:
可以根据上图对照,就知道意思了。
三、接下来要做的东东
好了,我们已经添加了一个名为DBConnectionString的属性值。现在打开这个webpart的后置代码WebPartWithAttributeUserControl.ascx.cs文件,并添加如下代码:
public WebPartWithAttribute WebPartObj { get; set; }
protected override void CreateChildControls()
{
WebPartWithAttributeUserControl control = Page.LoadControl(_ascxPath) as WebPartWithAttributeUserControl;
if (control != null)
control. = this;
Controls.Add(control);
}
好了,我们来测试一下:
我在页面上建了一个Lable,并在page_WebPartObjload中把DBConnectingString的值给他:
ASPxLabel1.Text = WebPartObj.DBConnectionString;
部署并插入webpart到页面,在webpart的设置属性页面的下方找到我们的自定义属性,并填上值:
然后点确定,并刷新页面:
大功告成!来瓶啤酒!
---------------------------------------------------华丽的分割线--------------------------------------------------
发现一个问题,如果我想要加一个下拉列表肿么办?
很简单,用一个枚举解决问题:
[Personalizable(PersonalizationScope.Shared),
WebBrowsable, Category("DB Connection"),
WebDisplayName("DB Connection String"),
WebDescription("DB Connection string.")]
public DBTest DBConnectionString { get; set; }
public enum DBTest
{
测试1 = 0,
测试2,
测试3
};
哇塞,又成功了!
这里是一个数据类型和参数显示方式的对应表
Boolean | Check box |
String | Text box |
Integer | Text box |
DateTime | Text box |
Enum | Drop-down list |