[Umbraco] Data Types介绍

Data Types是在建立document type时需要用到的,系统自带了很多用于开发的类型,如常用的下拉列表dropdown, textbox, radiobox, checkbox以及上传,html编辑器等等。但是这些往往还并不能满足我们的需要。

 

例如dropdown来源于某一数据库中的表时,显然系统不能帮助我们解决这些,那怎么办呢?umbraco不会让我们办法的,在创建一个新的Data Type时,Render control选择如图

[Umbraco] Data Types介绍

这样就可以开发自己的控件了

在vs里创建一个web应用程序,新建web用户控件

 

在ascx里放一个dropdown控件,并命名为ddlUser

 

cs文件里我们需要引用一下

using umbraco.editorControls.userControlGrapper;

 

继承IUsercontrolDataEditor接口并实现其属性,控件的cs代码如下

 1 public class UserList : System.Web.UI.UserControl, IUsercontrolDataEditor 

 2 {

 3     protected void Page_Load(object sender, EventArgs e)

 4     {

 5         if (!IsPostBack) {

 6             ddlUser.DataSource = new DataTable();//此处可以绑定自己的数据

 7             ddlUser.DataTextField = "id";

 8             ddlUser.DataValueField = "name";

 9             ddlUser.DataBind();

10 

11             ddlUser.Items.Insert(0, new ListItem("choose...", ""));

12 

13             if (!string.IsNullOrEmpty(_umbracoValue)) {

14                 ddlUser.SelectedValue = _umbracoValue;

15             }

16         }

17     }

18 

19     private string _umbracoValue;

20     public object value

21     {

22         get

23         {

24             _umbracoValue = ddlUser.SelectedValue;

25             return _umbracoValue;

26         }

27         set

28         {

29             _umbracoValue = Convert.ToString(value, CultureInfo.CurrentCulture);

30         }

31     }

32 }
View Code

 

编译发布,将.ascx文件拷贝到usercontrols目录下,.dll文件拷贝到bin目录下。实际看下效果

你可能感兴趣的:(type)