1

この質問は、偉大な .NET 開発者が知っておくべきこと - Scott Hanselmanで見たことがあります。

よくわかりませんが、私の知る限り、ボタン コントロールは HTML としてレンダリングされ、入力タグが送信されます (動的 ID を使用)。POST イベントが発生すると、ASP.Net は動的に生成されたボタン ID を使用し、C# 側でそれぞれのボタン クリック イベントを照合します。

私の理解が正しいかどうか教えてください。完全に間違っているか、文脈から外れている可能性があると思いました。

アップデート:-

私は少しグーグルをして、このリンクに出くわしました

HTML の ASP.NET Button コントロールは、type 属性が「submit」に設定された HTML 入力要素です。HTML の送信ボタンは、form 要素 (ASP.NET の場合は現在のページ) の action 属性を使用して、POST を呼び出します。これは POST であるため、フォーム変数には、送信ボタンの値 (名前) を含む、フォーム要素の入力要素からのすべての値が取り込まれます。POST がサーバーに到着し、ASP.NET によって解析されると、POST が送信ボタンによって開始されたことを確認します。これは、元の ASP.NET Button コントロールの Click イベントに変換されます。

4

3 に答える 3

1

HTML の ASP.NET Button コントロールは、type 属性が「submit」に設定された HTML 入力要素です。HTML の送信ボタンは、form 要素 (ASP.NET の場合は現在のページ) の action 属性を使用して、POST を呼び出します。これは POST であるため、フォーム変数には、送信ボタンの値 (名前) を含む、フォーム要素の入力要素からのすべての値が取り込まれます。POST がサーバーに到着し、ASP.NET によって解析されると、POST が送信ボタンによって開始されたことを確認します。これは、元の ASP.NET Button コントロールの Click イベントに変換されます。

于 2014-04-09T01:50:20.017 に答える
1

複数のボタンを備えた単純な ASP.NET シングル ページ アプリを作成してみましたか? それを行ってから、ブラウザで出力ページを検査できます。サブミットを行うボタン ID の値を持つ隠しフィールド __EVENTTARGET が表示されます。ポストバックごとに、この隠しフィールドはサーバーと __VIEWSTATE に移動します。もしかしてこれが「答え」?

于 2013-11-10T12:11:21.807 に答える
0

.NET Web フォーム アプリケーションでは、さまざまなイベント (多くの場合クリック イベント) がフォームをサーバーにポストします。イベントは、イベント デリゲートによってメソッド (つまり、イベント ハンドラ) にバインドされる "Button1_OnClick" などのメッセージです。

次のコード サンプルには、メソッドをイベントSystem.EventHandlerにバインドするオブジェクトがあります。Button1_OnClickButton1.Click

private void InitializeComponent()
{
    this.Load += new System.EventHandler(this.Page_Load);
    this.Button1.Click += new System.EventHandler(this.Button1_OnClick);
}

private void Button1_OnClick(object sender, System.EventArgs e)
{
}
于 2014-06-17T23:05:15.737 に答える