C#では、ページの読み込み方法でリンクボタンがクリックされているかどうかを確認するにはどうすればよいですか?
クリックイベントが発生する前に、クリックされたかどうかを知る必要があります。
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();
}
それがうまくいかない場合は、試してくださいUseSubmitBehavior="false"
リクエストパラメータ__EVENTTARGETの値をチェックして、問題のリンクボタンのIDであるかどうかを確認します。
ボタンのUniqueIDはRequest.Form["__EVENTTARGET"]にあります
受け入れられた回答と 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")
}