Dropdownlist im gridview nicht feuern selectedindex geändert-Ereignis
Problem habe ich mit nicht feuern ausgewählte index geändert-Ereignis des gridview, dropdownlist im. Ich gegangen durch den SO Thread . Es wird nicht mehr gearbeitet, ganz für mich. Ich habe Implementierung wie folgt Aussehen.
.ASPX
<asp:DropDownList ID="DDL1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DDL1_SelectedIndexChanged">
<asp:ListItem Text="Review" Value="Review" Selected="True">Review</asp:ListItem>
<asp:ListItem Text="Level1" Value="lvl1">Send Back to Level1</asp:ListItem>
</asp:DropDownList>
.CS
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
//Bind the GridView to something.
DataBindGrid();
}
else {
//Bind the GridView again to maintain previous entered data in the gridview
DataBindGrid();
}
}
protected void DDL1_SelectedIndexChanged(object sender, EventArgs e)
{
this.lblCity.Text = ((DropDownList)sender).SelectedValue;
}
protected void grdPoll_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(Page.IsPostBack)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
DropDownList ddl = e.Row.FindControl("DDL1") as DropDownList;
if(ddl != null)
{
ddl.SelectedIndexChanged += new EventHandler(DDL1_SelectedIndexChanged);
}
}
}
}
Wenn ich halten if(!Page.IsPostBack)
block nur dann funktioniert es einwandfrei. Aber ich will else
block auch. Whats going falsch mit der Implementierung. Können Sie bitte deuten auf die Lösungen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist block nach !Seite.Die IsPostBack-block, der ist nicht anderes Ereignis Teil, wie Sie sagte. Sie sind verbindlich Gitter wieder auf die post zurück, die Ergebnisse in Verlust der event gefeuert wird. Sie müssen nicht binden Sie es erneut, um die änderungen in der Startaufstellung.
Entfernen Sie diesen code.
Versuchen Sie dies:
ersetzen Ereignis-name "Page_Load" mit "Page_PreRender"