2

我在 gridview 中有一个 TemplateField 列,里面有一个按钮。

没有键值(肯定不是我设计的),但另一方面,在比较每一列时没有冗余,因为它们是事件,并且有“开始日期”和“结束日期”的东西这不可能同时发生两次。

我已经考虑过使用这些值和所有值进行选择,但我只想让按钮将大约五个参数传递给给定函数。

我已经测试过:

<asp:Button  CommandArgument='<%# Eval("day")%>'  ID="Button2" runat="server" Text="Button" />

它工作正常,点击行的日期已过,可以通过以下方式检索:

e.CommandArgument.ToString();

GridView_RowCommand处理程序中。

我如何传递多个参数?我曾考虑过与一个分隔符连接(不会那么糟糕),但除了不知道如何去做(不想投资于糟糕的解决方案)之外,我还想要一个更聪明的解决方案。

4

1 回答 1

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;
    ...
}
于 2010-04-05T12:37:32.673 回答