Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.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# DropDownList不会回发已更改的选定索引_C# - Fatal编程技术网

C# DropDownList不会回发已更改的选定索引

C# DropDownList不会回发已更改的选定索引,c#,C#,当所选项目发生更改时,我正在尝试将DropDownList设置为AutoPostBack。我会有点疯狂,为什么这不起作用 有人有什么快速的想法吗?请帮忙 以下是代码:- <asp:DropDownList ID="ddl_username" runat="server" AutoPostBack="True" onselectedindexchanged="ddl_username_SelectedIndexChanged" DataTextFi

当所选项目发生更改时,我正在尝试将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;
}

`
受保护的无效页面加载(对象发送方、事件参数e)
{
如果(!IsPostBack)
{
绑定用户();
}
}
私有数据集绑定用户()
{
数据集ds;
ds=cs.BindUsers();
如果(ds.表[0]!=null)
{
如果(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=新的ListItem();
li.Text=“选择”;
li.Value=“-1”;
ddl_username.Items.Insert(0,li);
ddl_username.SelectedIndex=0;
}
//ddl_username.SelectedIndex=0;
//ddl_username.Text=“------选择------”;
}
返回ds;
}

回发如果你想调用
Bind\u Users()
你应该删除:

if (!IsPostBack)
{
  Bind_Users();
}

ddl\u username\u SelectedIndex changed
方法的实现在哪里?可能重复的请不要重复您的问题,修改您现有的问题。好的,它不会通过编程方式设置
SelectedIndex
值发回(如果您正试图这样做)。此外,如果选项的underyling值相等(不管它们的“索引”),我认为在选择相同值的新索引时不会触发事件。