[英]DropDownList selectedindexchanged not firing on default selected item during dropdown bind within Gridview
[英]Gridview Header dropdown list filtering not firing SelectedIndexChanged method
我在gridview_rowdatabound事件中動態填充的gridview的每個列標題中都有一個下拉列表。 它被放置用於過濾功能。
我能夠獲得下拉列表和項目列表,但選擇索引已更改的方法未觸發
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
//some condition
DropDownList ddl = new DropDownList();
//some ddl properties
ddl.AutoPostBack = true;
ddl.SelectedIndexChanged += new EventHandler(ddl_OnSelectedIndexChanged);
}
我還放置了一個新的事件處理程序方法,但未觸發該事件。
private void ddl_OnSelectedIndexChanged(Object sender, EventArgs e)
{
string test = "reached on select Index changed";
}
關於如何在ddl change事件上獲取此方法的任何建議?
問題是您在RowDataBound
事件中分配了SelectedIndexChanged
事件。
因為它僅在頁面加載時調用,而不在PostBack上調用(如果將數據綁定包裝在if (!IsPostBack) { }
中),則該綁定在PostBack上丟失並且該方法將不會執行。
因此,您必須確保在每次頁面加載時都添加處理程序。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridView1.DataSource = mySource;
GridView1.DataBind();
}
DropDownList ddl = GridView1.HeaderRow.FindControl("DropDownList1") as DropDownList;
ddl.AutoPostBack = true;
ddl.SelectedIndexChanged += new EventHandler(ddl_OnSelectedIndexChanged);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.