我有一个 ASPLinkButton
控件,我想知道单击它时如何将值发送到后面的代码?这个活动有可能吗?
<asp:LinkButton ID="ENameLinkBtn" runat="server"
style="font-weight: 700; font-size: 8pt;"
onclick="ENameLinkBtn_Click" ><%# Eval("EName") %></asp:LinkButton>
我有一个 ASPLinkButton
控件,我想知道单击它时如何将值发送到后面的代码?这个活动有可能吗?
<asp:LinkButton ID="ENameLinkBtn" runat="server"
style="font-weight: 700; font-size: 8pt;"
onclick="ENameLinkBtn_Click" ><%# Eval("EName") %></asp:LinkButton>
只需添加CommandArgument
参数并在处理程序上读取它Click
:
<asp:LinkButton ID="ENameLinkBtn" runat="server"
style="font-weight: 700; font-size: 8pt;" CommandArgument="YourValueHere"
OnClick="ENameLinkBtn_Click" >
然后在您的点击事件中:
protected void ENameLinkBtn_Click(object sender, EventArgs e)
{
LinkButton btn = (LinkButton)(sender);
string yourValue = btn.CommandArgument;
// do what you need here
}
如果您在任何可绑定控件中使用 ,也可以在绑定时设置CommandArgument
参数,方法是:LinkButton
CommandArgument='<%# Eval("SomeFieldYouNeedArguementFrom") %>'
将 CommandName 属性和可选的 CommandArgument 属性添加到您的 LinkButton 控件。然后将 OnCommand 属性设置为您的 Command 事件处理程序的名称。
<asp:LinkButton ID="ENameLinkBtn" runat="server" CommandName="MyValueGoesHere" CommandArgument="OtherValueHere"
style="font-weight: 700; font-size: 8pt;" OnCommand="ENameLinkBtn_Command" ><%# Eval("EName") %></asp:LinkButton>
<asp:Label id="Label1" runat="server"/>
然后它将在您的处理程序中可用:
protected void ENameLinkBtn_Command (object sender, CommandEventArgs e)
{
Label1.Text = "You chose: " + e.CommandName + " Item " + e.CommandArgument;
}
有关MSDN的更多信息
尝试在后面的代码中检索链接按钮的文本属性:
protected void ENameLinkBtn_Click (object sender, EventArgs e)
{
string val = ((LinkButton)sender).Text
}