LinkBut​​ton将值发送到OnClick背后的代码

atr*_*joe 41 c# asp.net linkbutton

我有一个ASP LinkButton控件,我想知道如何在点击后向后面的代码发送一个值?这件事有可能吗?

<asp:LinkButton ID="ENameLinkBtn" runat="server" 
    style="font-weight: 700; font-size: 8pt;"
    onclick="ENameLinkBtn_Click" ><%# Eval("EName") %></asp:LinkButton>
Run Code Online (Sandbox Code Playgroud)

Kel*_*sey 69

只需添加CommandArgument参数并在Click处理程序上读取它:

<asp:LinkButton ID="ENameLinkBtn" runat="server" 
    style="font-weight: 700; font-size: 8pt;" CommandArgument="YourValueHere" 
    OnClick="ENameLinkBtn_Click" >
Run Code Online (Sandbox Code Playgroud)

然后在您的点击事件中:

protected void ENameLinkBtn_Click(object sender, EventArgs e)
{
    LinkButton btn = (LinkButton)(sender);
    string yourValue = btn.CommandArgument;
    // do what you need here
}   
Run Code Online (Sandbox Code Playgroud)

CommandArgument如果您LinkButton通过执行以下操作在任何可绑定控件中使用,也可以在绑定时设置参数:

CommandArgument='<%# Eval("SomeFieldYouNeedArguementFrom") %>'
Run Code Online (Sandbox Code Playgroud)

  • 您可以将发件人声明为LinkBut​​ton并跳过类型转换:protected void ENameLinkBtn_Click(LinkBut​​ton sender,EventArgs e){string yourValue = sender.CommandArgument; //在这里做你需要的}(对不起,我试过,但我不能格式化代码) (3认同)