C# GridView按钮字段后面的命令
我问了一个关于GridView中按钮字段(图像类型)后面的命令的问题 得到了一个名为gvIngevuld的GridView,其中我显示了数据行和1个ButtonField行。 现在我必须把代码放在这些按钮后面(每个按钮都是一样的),以便将一些东西转换成PDF格式。 问题是我不知道如何将代码放在这些按钮后面? 我的守则如下:C# GridView按钮字段后面的命令,c#,.net,asp.net,gridview,buttonfield,C#,.net,Asp.net,Gridview,Buttonfield,我问了一个关于GridView中按钮字段(图像类型)后面的命令的问题 得到了一个名为gvIngevuld的GridView,其中我显示了数据行和1个ButtonField行。 现在我必须把代码放在这些按钮后面(每个按钮都是一样的),以便将一些东西转换成PDF格式。 问题是我不知道如何将代码放在这些按钮后面? 我的守则如下: <asp:ButtonField ButtonType="Image" ImageUrl="~/Images/pdf.png" CommandName="pdf_cl
<asp:ButtonField ButtonType="Image" ImageUrl="~/Images/pdf.png" CommandName="pdf_click" />
谢谢。您应该使用gridview事件的
row命令。将commandArgument设置为项目的唯一键。(默认情况下,它传递行的索引)
此外,如果您已经设置了gridview的DataKeyNames
,则可以按如下方式访问它:
int index = Convert.ToInt32(e.CommandArgument);
int ServerID = Convert.ToInt32(GridView1.DataKeys[index].Value);
CommandName属性未定义要调用的方法。为此,您需要创建一个绑定到控件的命令事件的方法。
恐怕我不太了解GridView,但我认为最简单的方法是在Visual Studio的设计视图中选择它,转到属性,单击事件按钮(看起来像闪电),然后双击RowCommand事件属性。这将自动创建绑定到命令按钮事件的方法。
然后,您可以使用GridViewCommandEventArgs参数访问CommandName、CommandArgument和CommandSource属性,以确定触发事件的按钮。只是一个补充,我编写并尝试了完全相同的按钮,但按钮仍然不起作用
…过了一段时间我才意识到我忘了一件事,那就是
OnRowCommand=“\u RowCommand”
在**.cs*文件中的GridView元素内部尝试将CommandName更改为onclick,看看是否可以修复它。此外,可能需要向其中添加runat=“server”。我知道我们做了一个隐藏按钮,但那只是为了我们接线的具体方式。
void gvIngevuld_RowCommand(Object sender, GridViewCommandEventArgs e)
{
// If multiple buttons are used in a GridView control, use the
// CommandName property to determine which button was clicked.
if(e.CommandName=="pdf_click")
{
// Convert the row index stored in the CommandArgument
// property to an Integer.
int index = Convert.ToInt32(e.CommandArgument);
// Retrieve the row that contains the button clicked
// by the user from the Rows collection.
GridViewRow row = gvIngevuld.Rows[index];
//gbIngevuld is your GridView's name
// Now you have access to the gridviewrow.
}
}
int index = Convert.ToInt32(e.CommandArgument);
int ServerID = Convert.ToInt32(GridView1.DataKeys[index].Value);