• [Umbraco] Data Types介绍


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

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

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

    在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目录下。实际看下效果

  • 相关阅读:
    bean扫描的问题
    软件测试综合实训提问环节
    cephfs
    Django ORM数据增删改查接口
    ceph使用问题积累
    ceph删除pool
    Windows容器使用阿里云NAS SMB文件系统做持久化存储目录
    ceph安装( nautilus 版本 )
    K8S使用cephcsi持久化存储之CephFS
    服务器监控jmeter之 jp@gc PerfMon Metrics Collector
  • 原文地址:https://www.cnblogs.com/younghan/p/3417636.html
Copyright © 2020-2023  润新知