ASP LinkButton
Controlがあり、クリックされたときにコードビハインドに値を送信する方法を疑問に思っていましたか?このイベントでは可能ですか?
<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
}