Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 制作动态下拉列表_C#_Asp.net_Dynamic_Drop Down Menu - Fatal编程技术网

C# 制作动态下拉列表

C# 制作动态下拉列表,c#,asp.net,dynamic,drop-down-menu,C#,Asp.net,Dynamic,Drop Down Menu,我正在尝试以这种方式制作动态下拉列表: <form id="form1" runat="server"> <asp:DropDownList ID="ddlCategory" runat="server" AutoPostBack="True" onselectedindexchanged="CategoryDropList_SelectedIndexChanged" /> </form> void DropListInit() { Di

我正在尝试以这种方式制作动态
下拉列表

<form id="form1" runat="server">
<asp:DropDownList ID="ddlCategory" runat="server" AutoPostBack="True" 
    onselectedindexchanged="CategoryDropList_SelectedIndexChanged" />
</form>

void DropListInit() 
{
    Dictionary<string, string> dic = new Dictionary<string, string>();
    dic.Add("1","apple");
    dic.Add("2","banana");
    ddlCategory.DataSource = dic;
    ddlCategory.DataTextField = "value";
    ddlCategory.DataValueField = "key";
    ddlCategory.DataBind();
}

protected void Page_LoadComplete(object sender, EventArgs e) 
{
    DropListInit();
}

protected void CategoryDropList_SelectedIndexChanged(object sender, EventArgs e) 
{
    ddlCategory.SelectedValue = ddlCategory.SelectedValue;
}

void DropListInit()
{
Dictionary dic=新字典();
dic.添加(“1”、“苹果”);
dic.添加(“2”、“香蕉”);
ddlcontegory.DataSource=dic;
ddlcontegory.DataTextField=“值”;
ddlcontegory.DataValueField=“key”;
ddlcontegory.DataBind();
}
受保护的无效页面加载完成(对象发送方,事件参数e)
{
DropListInit();
}
受保护的无效类别Hydropolist\u SelectedIndexChanged(对象发送方,事件参数e)
{
ddlcontegory.SelectedValue=ddlcontegory.SelectedValue;
}

我发现如果没有这个奇怪的表达式,
ddlcegory.SelectedValue=ddlcegory.SelectedValue 将液滴指示器移至
页面加载
,如下所示:

protected void Page_LoadComplete(object sender, EventArgs e) 
{
    if (!IsPostBack)    
    {
        DropListInit();
    }
}
去掉这个

ddlCategory.SelectedValue = ddlCategory.SelectedValue;
应该没问题