0

選択した項目が変更されたときに、DropDownList を AutoPostBack に取得しようとしています。なぜこれが機能しないのか、私は少し混乱しています。

誰か簡単なアイデアがありますか?助けてください

ここにコードがあります: -

 <asp:DropDownList ID="ddl_username" runat="server"
   AutoPostBack="True" 
   onselectedindexchanged="ddl_username_SelectedIndexChanged" 
  DataTextField="Shortname" DataValueField="ID">
  </asp:DropDownList>`



  protected void Page_Load(object sender, EventArgs e)
  {
    if (!IsPostBack)
    {
        Bind_Users();
    }
  }

 private DataSet Bind_Users()
 {
    DataSet ds;
    ds = cs.BindUsers();
    if (ds.Tables[0] != null)
    {
        if (ds.Tables[0].Rows.Count > 0)
        {
            ddl_username.DataSource = ds.Tables[0];
            ddl_username.DataTextField = "Shortname";
            ddl_username.DataValueField = "ID";
            ddl_username.DataBind();
            ListItem li = new ListItem();
            li.Text = "Select";
            li.Value = "-1";
            ddl_username.Items.Insert(0, li);
            ddl_username.SelectedIndex = 0;
        }
        //ddl_username.SelectedIndex = 0;
        //ddl_username.Text = "-----Select-----";
    }
    return ds;
}
4

2 に答える 2

0

Page_Loadページがポストバックを行うたびに呼び出されるためBind_Users()

if(!IsPostBack)block 、Page_Load前に呼び出されるためddl_username_SelectedIndexChanged

于 2013-04-14T14:49:33.470 に答える