0
protected void ddlEnvironment_SelectedIndexChanged(object sender, EventArgs e)
{
    if (ddlEnvironment.SelectedIndex == 0)
    {
        ddlServers.Items.Add("item1");
    }

    if (ddlEnvironment.SelectedIndex == 1)
    {
        ddlServers.Items.Add("item2");
    }

    if (ddlEnvironment.Text == "Production")
    {
    }
}

以上不起作用。当我在 ddlEnvironment 上进行选择并且它是列表中的第一项(索引 0)时,另一个下拉列表未使用“item1”进行更新。为什么?

4

2 回答 2

2

默认下拉列表不做回发可能有不同的原因。

  • 检查你是否有AutoPostBack="true"
  • 您将 ddlEnvironment 绑定在 !Page.IsPostBack 块中,以便它在回发时保持其状态

    if(!Page.IsPostBack)
    {
       ddlEnvironment.AuutoPostBack = true;
       ddlEnvironment.DataSource = datasource; 
       ddlEnvironment.DataBind();
    }
    
于 2012-09-07T16:22:00.500 回答
0

我想你有AutoPostBack=true- 对吧?

如果您在 Page_Load() 事件处理程序中初始化 ddlEnvironment,它会在回发时被重置。

你需要做这样的事情:

If (!Page.IsPostback)
{ 
    // initialize ddlEnvironment here 
}
于 2012-09-07T16:24:49.300 回答