我有一个带有下拉列表的Gridview是在gridview的OnRowDataBound事件中动态创建的,最初我正在设置一个选定的值。
问题是,当我切换到不同的下拉列表时,它工作正常,但是当我更改为默认选择的索引时,不会触发SelectedIndexChanged。
请帮帮我......
protected void OnRowDataBound(object sender, GridViewRowEventArgs e)
{
DropDownList DropDownList1 = new DropDownList();
DropDownList1.ID = "DropDownList1";
DropDownList1.SelectedIndexChanged += new EventHandler(DropDownList1_SelectedIndexChanged);
DropDownList1.EnableViewState = true;
DropDownList1.AutoPostBack = true;
DropDownList1.EnableViewState = true;
string sql1 = ".....";
DataTable dtDDL = new DataTable();
dtDDL = SQL.ReturnDataTable(sql1);
if (dtDDL.Rows.Count > 0)
{
DropDownList1.DataSource = dtDDL;
DropDownList1.DataTextField = "CODE";
DropDownList1.DataValueField = "CODE";
DropDownList1.DataBind();
DropDownList1.Font.Size = 8;
//DropDownList1.Items.Insert(0, new ListItem("0", "0"));
}
DropDownList1.SelectedValue = dtShift.Rows[0]["SHIFT_CODE"].ToString();
DropDownList1.ToolTip = dtShift.Rows[0]["ShiftTime"].ToString();
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
//not coming here for default index changed
}
答案 0 :(得分:2)
AutoPostBack="true"
并尝试
<asp:DropDownList ID="Drplist1" AutoPostBack="true" runat="server" OnSelectedIndexChanged="Drplist1_SelectedIndexChanged"></asp:DropDownList>
答案 1 :(得分:0)
当列表中有多个具有相同值的值时,我也注意到了这种行为。 因此,您可以使用永远不会相同的序列号代替值代码。
因此,例如
如果所选索引值为&#34; X&#34;并且下一个选定的值也是&#34; X&#34;然后它可能不会打电话。