43

ASPLinkButtonコントロールがあり、クリックされたときにコード ビハインドに値を送信する方法を知りたいですか? このイベントでそれは可能ですか?

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

3 に答える 3

75

パラメーターに追加して、ハンドラー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") %>'
于 2011-03-21T18:06:04.707 に答える
4

CommandName属性、およびオプションでCommandArgument属性をLinkBut​​tonコントロールに追加します。次に、OnCommand属性をコマンドイベントハンドラーの名前に設定します。

<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の詳細情報

于 2011-03-21T17:52:53.233 に答える
1

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

protected void ENameLinkBtn_Click (object sender, EventArgs e)
{
   string val = ((LinkButton)sender).Text
}
于 2011-03-21T17:14:59.663 に答える