Unterschied in der OnClick-für ImageButton-Steuerelement innerhalb eines GridView-vs regular ImageButton

Arbeite ich an einem ASP.NET/C# - Projekt, und habe ein GridView-Steuerelement. Eine der Spalten ist ein TemplateField/ItemTemplate mit einem ImageButton-innen. Während das OnClick-Ereignis habe ich ein panel sichtbar. Wenn dies mit einer regelmäßigen ImageButton, die Seite wird neu geladen und das panel sichtbar ist. Dies geschieht nicht mit meinem ImageButton-Steuerelement innerhalb des GridView-Steuerelements. Weiß jemand wie ich das machen kann, es so zu tun, oder warum ist das so?

Vielen Dank für Ihre Zeit, bitte lassen Sie mich wissen, wenn Sie irgendwelche Fragen haben.

Hier die relevanten asp-definition

<asp:TemplateField ItemStyle-Width="90px"  ItemStyle-VerticalAlign ="Bottom" ItemStyle-HorizontalAlign ="Center" HeaderText="Add Alias">
                <HeaderStyle Font-Bold="True" Font-Size="11px" VerticalAlign="Bottom"/>
                    <ItemTemplate>
                        <asp:ImageButton ID ="btnAddAliasHeader" runat="server" ImageUrl="~/img/AddAlias.gif" onclick="btnAddAlias_Click" />
                 </ItemTemplate>
                </asp:TemplateField>

Und hier ist das C# für die OnClick-Funktion.

protected void btnAddAlias_Click(object sender, EventArgs e)
{
    ImageButton btnAddAlias = (ImageButton)sender;
    GridViewRow row = (GridViewRow)btnAddAlias.Parent.Parent;
    int rowIndex = row.RowIndex;

    lblSelectedCity.Text = gvResults.Rows[rowIndex].Cells[0].Text;
    lblSelectedCountry.Text = ddlCountry.Text;
    pnlAddAlias.Visible = true;

}

Habe ich den OnRowCommand Veranstaltung und machte das panel sichtbar, aber es immer noch nicht zeigen. Ich denke, es kann etwas damit zu tun haben postback, denn wenn ich dann auf den button außerhalb des gridview-Steuerelements, auf das reload-anschließend das panel aus-Taste innerhalb des gridview zeigt sich gut.

Edit: ich bin ein idiot und Links heraus, dass all dies passiert in einem updatepanel.

  • Zeig uns etwas code.
  • Sind sowohl die GridView und die Panel im gleichen UpdatePanel?
InformationsquelleAutor Nick | 2011-06-23
Schreibe einen Kommentar