【问题标题】:Makinkg dynamic DropDownList制作动态下拉列表
【发布时间】:2011-09-22 21:52:41
【问题描述】:

我正在尝试以这种方式制作动态DropDownList

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

我发现如果没有这个奇怪的表达式ddlCategory.SelectedValue = ddlCategory.SelectedValue; in 就无法工作那么,这个表达式是什么意思?还是我做错了什么?

【问题讨论】:

    标签: c# asp.net dynamic drop-down-menu


    【解决方案1】:

    将 DropListInit 移动到Page_load,如下所示;

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

    删除这个;

    ddlCategory.SelectedValue = ddlCategory.SelectedValue;
    

    应该没问题。

    【讨论】:

      猜你喜欢
      • 2015-05-26
      • 2012-11-13
      • 2010-11-21
      • 1970-01-01
      • 2022-01-07
      相关资源
      最近更新 更多