C# 如何将.aspx中定义的现有下拉列表与C绑定

C# 如何将.aspx中定义的现有下拉列表与C绑定,c#,asp.net,.net,drop-down-menu,c#-3.0,C#,Asp.net,.net,Drop Down Menu,C# 3.0,我在设计页面中有一个下拉列表,如下所示: <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: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的帮助下绑定上面的默认项,以获得上面的listitems

我想知道是否有任何内置方法或属性可以绑定C中的dropdownlist.aspx

不使用此选项:ddlArtList.Items.Add 1;等等

提前感谢。

使用

.aspx代码:

使用

.aspx代码:


在第一页加载期间,您可以在会话中保留默认列表-

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);
}

在第一页加载期间,您可以在会话中保留默认列表-

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);
}

如果要附加到默认列表,请使用提供的标记来设置默认列表。如前所述,您需要将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>
在代码隐藏中,您可以将数据源设置为附加项,只需调用DataBind。将这些项目附加到您的dropdownlist

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

根据您的所有需要,您可以在页面的Load事件中或在另一个事件处理程序中添加这些附加项,例如单击按钮或从另一个dropdownlist中选择

如果要附加到默认列表,请使用提供的标记设置默认列表。如前所述,您需要将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>
在代码隐藏中,您可以将数据源设置为附加项,只需调用DataBind。将这些项目附加到您的dropdownlist

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

根据您的所有需要,您可以在页面的Load事件中或在另一个事件处理程序中添加这些附加项,例如单击按钮或从另一个dropdownlist中选择

值不会覆盖其他值。事实上,所有的值都被绑定到dropdownlist。@Pranav您可以在代码中显示您是如何绑定或向itClientSide添加新项的:将是aspx或html端。因为这些值不会覆盖其他值。事实上,所有的值都被绑定到dropdownlist。@Pranav您可以在代码中显示您是如何绑定或向itClientSide添加新项的:将是aspx或html端。不,我是在VisualStudio中做的,效果很好。不,我是在VisualStudio中做的,效果很好。