【发布时间】:2018-09-15 05:09:20
【问题描述】:
我在 GridView 中有一个 DropDownList。我想对 SelectedIndexChanged 内的数据库进行一些更新,它没有被触发。
PS:我尝试了我在互联网上找到的所有解决方案,但总是出现同样的问题。
代码如下:
<asp:TemplateField HeaderText="Accepté" ControlStyle-Width="90px">
<ItemTemplate >
<asp:Label ID="lblState" runat="server" Text='<%# Eval("StateCode") %>' Visible = "False" />
<asp:DropDownList ID="ddlState" runat="server" Visible = "False" OnSelectedIndexChanged="ddlState_SelectedIndexChanged">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField >
以及背后的代码
protected void grwConsent_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.Cells[0].Text != " ")
{
DropDownList ddlState = e.Row.FindControl("ddlState") as DropDownList;
if (null != ddlState)
{
ddlState.Visible = true;
string stateValue = (e.Row.FindControl("lblState") as Label).Text;
ConsentHelper.LoadConsentStatesInList(ddlState,"-----",stateValue);
ddlState.Items.RemoveAt(0);
ddlState.Items.FindByText(stateValue).Selected = true;
}
}
}
}
protected void ddlState_SelectedIndexChanged(object sender, EventArgs e)
{
//Database Updates
}
谢谢!
【问题讨论】:
-
您是否将数据绑定到
IsPostBack检查中的 GridView? -
protected void Search_Button_Click(object sender, EventArgs e) { Requests = ObjectManager.GetObject(); grw.DataSource = 请求; grw.DataBind(); }
-
尝试将
AutoPostBack=true添加到 DDL -
同样的问题
标签: asp.net gridview webforms dropdown selectedindexchanged