2015-01-01 2 views
1

У меня есть выпадающий список, в дизайн страницы, как показано ниже:Как связать существующий выпадающий список, определенный в .aspx с C#

<asp:DropDownList ID="ddlArtList" runat="server"> 
    <asp:ListItem Value="95">Select</asp:ListItem> 
    <asp:ListItem Value="1">1</asp:ListItem> 
    <asp:ListItem Value="2">2</asp:ListItem> 
    <asp:ListItem Value="3">3</asp:ListItem> 
    <asp:ListItem Value="4">4</asp:ListItem> 
    <asp:ListItem Value="5">5</asp:ListItem> 
    <asp:ListItem Value="6">6</asp:ListItem> 
</asp:DropDownList> 

Это пункты выше, иногда переопределены некоторыми другими значениями в C#, в соответствии с требование. Но в конце я хочу связать вышеуказанные элементы по умолчанию с помощью C#, чтобы получить перечисленные выше элементы.

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

Без использования этого: ddlArtList.Items.Add ("1); и т.д. и т.п.

Заранее спасибо

ответ

2

Используйте AppendDataBoundItems

.aspx Код:

<asp:DropDownList ID="ddlArtList" AppendDataBoundItems="True" runat="server"> 
    <asp:ListItem Value="95">Select</asp:ListItem> 
    <asp:ListItem Value="1">1</asp:ListItem> 
    <asp:ListItem Value="2">2</asp:ListItem> 
    <asp:ListItem Value="3">3</asp:ListItem> 
    <asp:ListItem Value="4">4</asp:ListItem> 
    <asp:ListItem Value="5">5</asp:ListItem> 
    <asp:ListItem Value="6">6</asp:ListItem> 
</asp:DropDownList> 
.

ServerSide:

ddlArtList.AppendDataBoundItems="True" 
+0

Ценности не перекрывают другую. infact все значения получают привязку к выпадающему списку. –

+0

@Pranav вы можете показать в своем коде, как вы привязываетесь или добавляете к нему новые элементы. –

+0

ClientSide: будет стороной aspx или html. Как Adil

2

Вы можете сохранить список по умолчанию в сессии во время первой загрузки страницы -

if(!isPostback) 
{ 
    ListItem[] items = new ListItem[ddlArtList.Items.Count]; 
    ddlArtList.Items.CopyTo(items, 0); 
    Session["ddlArtList"] = items; 
} 

Теперь, когда вы хотите сбросить список -

if(Session["ddlArtList"] != null) 
{ 
    ListItem[] items = Session["ddlArtList"] as ListItem[]; 
    ddlArtList.Items.Clear(); 
    ddlArtList.Items.AddRange(items); 
} 
0

Если вы хотите добавить к дефолту список, используйте разметку, как вы указали, чтобы установить список по умолчанию. Вы хотите установить AppendDataBoundItems в true, как уже упоминалось.

<asp:DropDownList ID="ddlArtList" runat="server" AppendDataBoundItems="true"> 
    <asp:ListItem Value="95">Select</asp:ListItem> 
    <asp:ListItem Value="1">1</asp:ListItem> 
    <asp:ListItem Value="2">2</asp:ListItem> 
    <asp:ListItem Value="3">3</asp:ListItem> 
    <asp:ListItem Value="4">4</asp:ListItem> 
    <asp:ListItem Value="5">5</asp:ListItem> 
    <asp:ListItem Value="6">6</asp:ListItem> 
</asp:DropDownList> 

В коде, вы можете установить DataSource в добавленные элементы и просто вызвать DataBind. Это добавит эти элементы в раскрывающийся список.

ddlArtList.DataSource = new List<int>{ 10, 11, 12 }; // replace with actual data source you are using 
ddlArtList.DataBind(); 

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

+0

, чтобы связать список с выпадающим списком требуется поле Datatextfield и значение ... –

+0

Нет. Я сделал это в Visual Studio, и он работает нормально. –

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