1

ASP.NET には、データ入力ページの作成に関する優れた機能が多数あります。

  • 入力コントロールの追加は簡単です ( <asp:...)。
  • システムは、コントロールのメンバー変数を自動的に生成します。
  • ポストバックは、返された値を含むメンバー変数を自動的に設定します。

そしていくつかのあまり良くないビット

  • ポストバックは、最も単純なケースでも JavaScript に関連付けられているようです。たとえば、静的に定義されたページで、コンパイル時に認識される基本的なコントロールのみを使用します。

私の質問:

  • 2番目のリストなしで最初のリストを取得することは可能ですか?
  • その JavaScript はユーザーにどのような機能を提供しますか?
  • その JavaScript は実際に何をするのでしょうか?
  • ささいなケースでも使用される技術的な理由は何ですか?

たまたま、私の仮定は誤りでした:こちらをご覧ください

4

3 に答える 3

1

これは、ここで使用しようとしているコントロールの種類に大きく依存します。JavaScript を実装しているのは、ネイティブにポストバックを発生させることができないものだけです (つまり、入力/送信ボタンは 2 つだけです)。LinkBut​​ton、ImageButton、または「AutoPostBack = true」をオンに設定したものを使用している場合、ポストバックを引き起こすために JavaScript がオンになります。

他のコントロールも、Calendar などのより高度な場合、javascript を使用できる可能性があります。ここで JavaScript を使用する技術的な理由は、コントロールがより高度なサーバー インタラクションを必要とする場合に、自動ポストバックを提供することです。 JavaScriptの相互作用を通じて、それを強制する必要があります。

そうは言っても、JavaScript がなくても ASP.NET を確実に使用できます。ASP.NET なしでは実現できない機能を含めることで、それを実装するコントロールを回避する必要があります。HTML コントロールを簡単に追加し、runat="server" 属性を追加して、コード ビハインドからコントロールにメンバー変数を取得できます。

于 2009-08-10T20:32:41.400 に答える
1

これが私の頭に浮かんだことです:

その JavaScript はユーザーにどのような機能を提供しますか?

クライアント側の検証。

その JavaScript は実際に何をするのでしょうか?

たとえば、__EVENTTARGET 隠しフィールドを設定することで、正しい (サーバー側の) イベント ハンドラーが呼び出されるようにします。

2番目のリストなしで最初のリストを取得することは可能ですか?

ASP.NET コントロールの代わりに、通常の HTML コントロールを使用できます。次に、サーバー側で、フォーム コレクションからコントロールの値を読み取ることができます。

于 2009-08-10T20:36:19.660 に答える
1

<asp:Button />コントロールに関連付けられたJavaScriptを意味していると思いますよね?

Fooberichu が言及した理由に加えて、javascript は ASP.NETs クライアント側の検証フレームワークにも役立ちます。

しかし、主な用途は、背後のページのポストバックで発生するイベントをフレームワークに警告することだと思います。

そのため、フォームに SaveButton と DeleteButton の 2 つのボタンがある場合、javascript はフレームワークがSaveButton_ClickイベントまたはDeleteButton_Clickイベントを実行する必要があるかどうかを判断するのに役立ちます。

お役に立てれば。

于 2009-08-10T20:36:27.680 に答える