【问题标题】:Passing more than one argument in asp.net button in gridview在gridview的asp.net按钮中传递多个参数
【发布时间】:2011-02-04 10:07:29
【问题描述】:

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

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

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

我已经测试过了:

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

而且运行正常,点击行的日期过去了,可以通过以下方式检索:

e.CommandArgument.ToString();

GridView_RowCommand 处理程序中。

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

【问题讨论】:

  • 我正要问同样的问题..!!!
  • 你可以像这样连接:CommandArgument='&lt;%# Eval("day") + ", etc," + Eval("userId") %&gt;' - 但是是的,我同意这是一个肮脏的解决方案。
  • @MarceloRamires...我不是在开玩笑...我正在开发 vb 的唯一不同..
  • @jjj 事实上,我也在研究 VB.NET,但是当我说我使用 VB 时,stackoverflow 中的人往往不回答问题(即使问题并不完全涉及代码隐藏编程
  • 哦....真的吗?!..差别不大..!!

标签: c# asp.net gridview arguments templatefield


【解决方案1】:

最简单的方法可能是通过按钮访问 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;
    ...
}

【讨论】:

    猜你喜欢
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    • 2017-01-31
    • 1970-01-01
    • 2011-01-24
    • 1970-01-01
    • 2012-10-14
    • 1970-01-01
    相关资源
    最近更新 更多