在Umbraco中创建自定义数据类型

时间:2010-07-05 22:07:41

标签: c# asp.net umbraco

我正在尝试创建自定义数据类型。意图是下拉列表。截至目前,我可以访问我创建的控件,但其中没有显示任何属性或值。只是空白下拉。

public partial class usercontrols_admin_customDataType_CountryDropDown : 
    System.Web.UI.UserControl,
    umbraco.editorControls.userControlGrapper.IUsercontrolDataEditor
{
    public string umbracoValue;

    protected void Page_Load(object sender, EventArgs e)
    {
        if (Page.IsPostBack)
        {
            DataSet ds = new DataSet();

            FormFieldBuilder countries = new FormFieldBuilder();
            ds = countries.GetAllCountries();

            ddCountries.DataSource = ds;
            ddCountries.DataTextField = ds.Tables[0].Columns["DisplayName"].ToString();
            ddCountries.DataValueField = ds.Tables[0].Columns["guiCountryID"].ToString();
            ddCountries.DataBind();
        }
    }

    #region IUsercontrolDataEditor Members

    public object value
    {
        get
        {
            return ddCountries.SelectedValue;
        }
        set
        {
            if (value != null) 
            {
                ddCountries.SelectedValue = value.ToString();
            }
        }
    }

    #endregion
}

2 个答案:

答案 0 :(得分:3)

这一行:

if (Page.IsPostBack)

应该是:

if (!Page.IsPostBack)

否则,在表单提交(回发)

之后才会填充下拉列表

答案 1 :(得分:0)

下载UComponent附加组件&将其上传到包裹。在那里你可以借助这个插件创建你自己的自定义数据类型,不需要编码。