ASP.NET GridView CommandField Update / Cancel non esegue il wrapping
-
06-07-2019 - |
Domanda
La mia domanda è sul controllo GridView ASP.NET. Sto usando CommandField nel tag Columns come mostrato di seguito.
<asp:CommandField ShowEditButton="True" HeaderStyle-Width="40px" UpdateText="Save" ButtonType="Link" HeaderStyle-Wrap="true" ItemStyle-Wrap="true" ItemStyle-Width="40px"/>
Ciò che rende è mostrato nell'immagine seguente (dopo aver fatto clic sul pulsante Modifica).
Come puoi vedere Sto cercando di mostrare una nuova riga nel link Annulla e la mia domanda è: come si fa cosa? Se cambio il ButtonType = " Link "
in ButtonType = " Button "
, ottengo il rendering corretto come mostrato di seguito.
alt text http://i38.tinypic.com/2pqopxi.jpg
Ho già provato Google e forse non sto cercando i tag giusti, ma non sono riuscito a vederlo prima.
Soluzione
Se usi un campo modello ti darà il controllo completo sull'aspetto della tua pagina, ma richiede che tu usi il CommandName e le possibili proprietà CommandArgument, e anche usando il OnRowCommand di GridView.
La pagina aspx:
<asp:GridView id="gvGrid" runat="server" OnRowCommand="gvGrid_Command">
<Columns>
<asp:TemplateField>
<ItemTemplate>
Some Stuff random content
<br />
<asp:LinkButton id="lbDoIt" runat="server" CommandName="Cancel" CommandArgument="SomeIdentifierIfNecessary" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Il codice dietro:
protected void gvGrid_Command(object sender, GridViewCommandEventArgs e)
{
if(e.CommandName=="Cancel")
{
// Do your cancel stuff here.
}
}
Altri suggerimenti
Non utilizzare un campo di comando, utilizzare un TemplateField e inserisci il tuo pulsante di comando con un'interruzione di riga (br) prima che lo desideri.