C# DropDownList不会回发已更改的选定索引
当所选项目发生更改时,我正在尝试将DropDownList设置为AutoPostBack。我会有点疯狂,为什么这不起作用 有人有什么快速的想法吗?请帮忙 以下是代码:-C# DropDownList不会回发已更改的选定索引,c#,C#,当所选项目发生更改时,我正在尝试将DropDownList设置为AutoPostBack。我会有点疯狂,为什么这不起作用 有人有什么快速的想法吗?请帮忙 以下是代码:- <asp:DropDownList ID="ddl_username" runat="server" AutoPostBack="True" onselectedindexchanged="ddl_username_SelectedIndexChanged" DataTextFi
<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值相等(不管它们的“索引”),我认为在选择相同值的新索引时不会触发事件。