gpt4 book ai didi

c# - Gridview 行命令

转载 作者:太空宇宙 更新时间:2023-11-03 21:20:13 25 4
gpt4 key购买 nike

当我转到网站中的 gridview 时,我遇到了一个小问题,我的行命令按钮不起作用。我不知道为什么。

这是我的页面代码:

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Ver")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = GridView1.Rows[index];

Session["Imagem"] = GridView1.DataKeys[index]["Imagem"];
Session["Nome"] = GridView1.DataKeys[index]["Nome"];
Session["Preço"] = GridView1.DataKeys[index]["Preço"];
Session["Descricao"] = GridView1.DataKeys[index]["Descricao"];
Session["Categoria"] = GridView1.DataKeys[index]["Categoria"];
Session["id"] = GridView1.DataKeys[index]["Id"];
Session["estado"] = GridView1.DataKeys[index]["estado"];
GridView1.DataBind();
Response.Redirect("Detalhes.aspx");
}
}

我的 gridview 标记是这样的:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
DataKeyNames="Imagem ,Nome,Preço,Descricao,Categoria,id,estado"
DataSourceID="SqlShop" OnRowCommand="GridView1_RowCommand"
BackColor="White" BorderColor="#3366CC" BorderStyle="None"
BorderWidth="1px" CellPadding="4" style="margin-top: 0px">
<Columns>
<asp:TemplateField HeaderText="Imagem" SortExpression="Imagem">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Imagem") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("Imagem") %>' Height="8%" Width="8%" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Nome" HeaderText="Nome" SortExpression="Nome" />
<asp:BoundField DataField="Preço" HeaderText="Preço" SortExpression="Preço" />
<asp:BoundField DataField="Descricao" HeaderText="Descricao" SortExpression="Descricao" />
<asp:BoundField DataField="Categoria" HeaderText="Categoria" SortExpression="Categoria" />
<asp:ButtonField ButtonType="Button" CommandName="Select" Text="ver" />
</Columns>
<FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
<HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
<PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
<RowStyle BackColor="White" ForeColor="#003399" />
<SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
<SortedAscendingCellStyle BackColor="#EDF6F6" />
<SortedAscendingHeaderStyle BackColor="#0D4AC4" />
<SortedDescendingCellStyle BackColor="#D6DFDF" />
<SortedDescendingHeaderStyle BackColor="#002876" />
</asp:GridView>
<asp:SqlDataSource ID="SqlShop" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT * FROM [Produtos]">
</asp:SqlDataSource>

最佳答案

C#代码中的命令名不正确

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Select") //this part
{
int index = Convert.ToInt32(e.CommandArgument);
...
...
Response.Redirect("Detalhes.aspx");
}

}

或者您可以将 ButtonField 参数的值更改为

    <asp:ButtonField ButtonType="Button" CommandName="ver" Text="Select" />

关于c# - Gridview 行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31313479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com