C# 如何通过asp.net控制器中的OnClick属性传递参数

C# 如何通过asp.net控制器中的OnClick属性传递参数,c#,asp.net,C#,Asp.net,以下是我的ASP代码: <asp:GridView ID="WagerTable" runat="server" AutoGenerateColumns="False" CssClass="basix" > <columns> <asp:BoundField DataField="GameName" HeaderText="Game Name" /> <asp:BoundField DataField="Amount" HeaderText="Amoun

以下是我的ASP代码:

<asp:GridView ID="WagerTable" runat="server" AutoGenerateColumns="False" CssClass="basix" >
<columns>
<asp:BoundField DataField="GameName" HeaderText="Game Name" />
<asp:BoundField DataField="Amount" HeaderText="Amount" />
<asp:BoundField DataField="Comment" HeaderText="Comment" />
<asp:BoundField DataField="CreateTime" HeaderText="Create Time" />
    <asp:TemplateField>
      <ItemTemplate>
                    <asp:LinkButton runat="server" Text="Accept" OnClick="AcceptWager" ID="AcceptButton"  />
      </ItemTemplate>
  </asp:TemplateField>
</columns>
</asp:GridView>
我希望能够拥有它,这样每个LinkButton都可以将一个ID作为参数从数据库传递到AcceptWager函数中,然后我将从那里使用它。ID的sql列是WagerId。它是在我执行的查询中返回的,因此它已经在
读取器中了。谢谢

有一个
CommandArgument
属性

可能是这样的:

  <asp:LinkButton CommandArgument='<%# DataBinder.Eval(Container.DataItem, "SOME_VALUE")%>' />


可以处理LinkButton的数据绑定事件并自定义设置LinkButton的CommandArgument等于相应数据行的“ID”值。之后,可以处理LinkButton的Click事件,从sender对象获取LinkButton的实例,并使用其CommandArgument属性。

更改HTML中的LinkButton声明:

<asp:LinkButton CommandArgument='<%# ((SqlDataReader)Container.DataItem)["WagerID"] %>'
runat="server" Text="Accept" OnClick="AcceptWager" ID="AcceptButton" />

然后,您可以通过从命令处理程序方法中的按钮拉出
CommandArgument
属性来提取它。

尝试:

<asp:LinkButton runat="server" Text="Accept" OnClick="AcceptWager" ID="AcceptButton" CommandArgument='<%# ((DataRowView)Container.DataItem)["WagerId"]%>' />

论点拼错了
<asp:LinkButton runat="server" Text="Accept" OnClick="AcceptWager" ID="AcceptButton" CommandArgument='<%# ((DataRowView)Container.DataItem)["WagerId"]%>' />
int wagerId = ((LinkButton)sender).CommandArgument;