我在gridview中有一个TemplateField列,里面有一个按钮。
没有键值(当然不是我设计的),但另一方面,比较每一列时没有冗余,因为它们是事件,并且有“开始日期”和“结束日期” “不能同时发生两次的事情。
我已经想过选择这些值和所有值,但我只想让按钮将五个参数传递给给定的函数。
我测试过了:
<asp:Button CommandArgument='<%# Eval("day")%>' ID="Button2" runat="server" Text="Button" />
它运行正常,点击行的日期传递,并可通过以下方式检索:
e.CommandArgument.ToString();
GridView_RowCommand
处理程序中的。
如何传递多个参数?我想过要与一个分离的角色连接(不会那么糟糕),但除了不知道怎么做之外(不想投资一个糟糕的解决方案)我想要一个更聪明的人。
答案 0 :(得分:2)
最简单的方法可能是通过按钮访问GridView行并以这样的方式访问值:
void Button2_Click(object o, EventArgs e) {
Button myButton = (Button)o;
GridViewRow row = (GridViewRow)muButton.Parent.Parent;
string value1 = row.Cells[0].Text;
string value2 = row.Cells[1].Text;
...
}