linkbutton oncommand, onClick, RowCommand dans la vue en grille pas de tir
J'ai lu des dizaines de posts sur ce problème et tout essayé, mais avec pas de chance, je ne suis pas sûr de ce qui me manque c'est gridview code:
<asp:GridView ID="recentJobsGridView" runat="server" CellPadding="4" ForeColor="#333333"
GridLines="None" Height="151px" Width="541px" Visible="False" AutoGenerateColumns="False"
PageSize="5" AllowPaging="True" OnPageIndexChanging="recentJobsGridView_PageIndexChanging"
DataKeyNames="orderItemId">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:TemplateField HeaderText="Order Date" Visible="true">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("orderItemId") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Order Date">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("orderDate") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="QTY">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("QTY") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ID">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("ID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Length">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("length") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="wall">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("wall") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Paper Composition">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("paperComposition") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="btAdd" runat="server" OnCommand="btAdd_Command" Text="Add"
CommandArgument='<%# Container.DataItem %>' CommandName="Add"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EditRowStyle BackColor="#999999" />
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#E9E7E2" />
<SortedAscendingHeaderStyle BackColor="#506C8C" />
<SortedDescendingCellStyle BackColor="#FFFDF8" />
<SortedDescendingHeaderStyle BackColor="#6F8DAE" />
<SortedAscendingCellStyle BackColor="#E9E7E2" />
<SortedAscendingHeaderStyle BackColor="#506C8C" />
<SortedDescendingCellStyle BackColor="#FFFDF8" />
<SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>
est ici où je lier l'affichage de la grille:
protected void custGridView_SelectedIndexChanged(object sender, EventArgs e)
{
if (custGridView.SelectedDataKey != null)
{
selectCustomer = (int)custGridView.SelectedDataKey.Value;
recentJobsGridView.Visible = true;
recentJobsGridView.DataSource = ViewDataSource(selectCustomer);
recentJobsGridView.DataBind();
}
}
et c'est le code de la LinkButton:
protected void btAdd_Command(object sender, CommandEventArgs e)
{
if (e.CommandName == "Add")
{
StatusLbl.Text = "Hellooooooo";
}
}
J'ai tout enlevé, je veux juste que l'affichage de ce message, mais RIEN ne répond
De l'aide s'il vous plaît...
- Si vous n'avez pas l'
!Ispostback
au chargement de la page, l'événement de la gridview ne se déclenche pas. - Merci mais j'ai déjà à la page_load
- J'ai eu ce problème. J'ai été liaison de données pour la grille dans le Page_PreRender, nécessaires pour le faire dans le page_load.
Vous devez vous connecter pour publier un commentaire.
Je vois que vous êtes absent le
onrowcommand
dans votre gridview. Essayez cettepuis l'ajouter à votre codeFile
Essayez d'utiliser le contrôle GridView est RowCommand événement, qui doit se déclencher en cliquant sur le bouton lien, avec le nom de la commande/arg.
Supprimer
OnCommand="btAdd_Command"
, doncLinkButton
sera...Et ajouter
OnRowCommand="btAdd_Command"
à l'intérieur deGridView
.Maintenant sur le Code Derrière, de modifier le Bouton de la définition comme ci-dessous...
Marque que vous avez à utiliser
GridViewCommandEventArgs
, pasCommandEventArgs
.