2013-05-27 4 views
0

Я пытаюсь создать пользовательский веб-элемент управления с несколькими элементами управления на нем, текстовое поле, ярлык и выпадающий список, то, что я хотел бы сделать, это добавить свойство в пользовательский элемент управления, чтобы разрешить добавлять select параметры в списке, так же, как если бы это был просто нормальный DropDownList т.е.Веб-пользовательский контроль с выпадающим списком

<asp:DropDownList ID="normalddl" runat="server"> 
    <asp:ListItem Text="1st value" Value="0"></asp:ListItem> 
    <asp:ListItem Text="2nd value" Value="1"></asp:ListItem> 
</asp:DropDownList> 

Я хочу пользовательский элемент управления, который будет выглядеть примерно так (это упрощенная версия)

<mycustomControl:ControlNamt ID="customddl" runat="server" > 
    <asp:ListItem Text="1st value" Value="0"></asp:ListItem> -- how would I go about adding this in the custom control? 
    <asp:ListItem Text="2nd value" Value="1"></asp:ListItem> 
</mycustomControl:ControlNamt> 

ответ

0

Не ответ, который вы ищете. Просто предложение о том, как добиться того, чтобы с помощью UserControls

UserControl разметке:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UC1.ascx.cs" Inherits="WebFormsScratch.UCTests.UC1" %> 

<%-- Other controls here --%> 
<asp:DropDownList runat="server" ID="ddl"> 
</asp:DropDownList> 

UserControl кода позади:

public partial class UC1 : System.Web.UI.UserControl 
{ 
    public IEnumerable<ListItem> DDLData; 

    protected void Page_Load(object sender, EventArgs e) 
    { 
    } 
    public override void DataBind() 
    { 
     ddl.DataSource = DDLData; 
     ddl.DataBind(); 
     base.DataBind(); 
    } 
} 

ASPX страницы с помощью этого контроля (наценка; голый минимум)

<%@ Register Src="~/UCTests/UC1.ascx" TagPrefix="uc1" TagName="UC1" %> 
... 
... 
<uc1:UC1 runat="server" ID="uc1" /> 

код позади ASPX страницы с помощью этого элемента управления

protected void Page_Load(object sender, EventArgs e) 
{ 
    uc1.DDLData = new [] 
     { 
      new ListItem("1st Item", "0"), 
      new ListItem("2nd Item", "1"), 
      new ListItem("3rd Item", "2"), 
     }; 
    uc1.DataBind(); 
} 
+0

спасибо за предложение. Я действительно ищу способ сделать это на стороне клиента. без использования javascript. – Stephen

Смежные вопросы