14

C#では、ページの読み込み方法でリンクボタンがクリックされているかどうかを確認するにはどうすればよいですか?

クリックイベントが発生する前に、クリックされたかどうかを知る必要があります。

4

6 に答える 6

23
if( IsPostBack ) 
{
    // get the target of the post-back, will be the name of the control
    // that issued the post-back
    string eTarget = Request.Params["__EVENTTARGET"].ToString();
}
于 2008-10-09T18:35:52.300 に答える
4

それがうまくいかない場合は、試してくださいUseSubmitBehavior="false"

于 2015-01-28T04:07:24.307 に答える
2

リクエストパラメータ__EVENTTARGETの値をチェックして、問題のリンクボタンのIDであるかどうかを確認します。

于 2008-10-09T18:35:21.270 に答える
2

ボタンのUniqueIDはRequest.Form["__EVENTTARGET"]にあります

于 2008-10-09T18:36:56.323 に答える
1

受け入れられた回答と RealSteel の回答に基づいて、これはより完全な回答になる可能性があります。

まず、次のようなボタンを .aspx に追加します。

<asp:Button id="btnExport" runat="server" Text="Export" UseSubmitBehavior="false"/>

次に、Page_Load メソッドで:

if(IsPostBack){
   var eventTarget = Request.Params["__EVENTTARGET"]
   // Then check for the id but keep in mind that the name could be 
   // something like ctl00$ContainerName$btnExport 
   // if the button was clicked or null so take precautions against null
   // ... so it could be something like this
   var buttonClicked = eventTarget.Substring(eventTarget.LastIndexOf("$") + 1).Equals("btnExport")

}
于 2015-12-04T17:35:22.680 に答える