web-dev-qa-db-ja.com

LinkBut​​ton OnClickのコードビハインドに値を送信

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

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

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") %>'
69
Kelsey

CommandName属性を追加し、オプションでCommandArgument属性をLinkBut​​tonコントロールに追加します。次に、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 [〜#〜] の詳細

3
Ken Pespisa

コードビハインドでリンクボタンのテキストプロパティを取得してみてください。

protected void ENameLinkBtn_Click (object sender, EventArgs e)
{
   string val = ((LinkButton)sender).Text
}
1
Hopdizzle