ASP.NETの実用的な技巧は詳しく紹介します

4761 ワード

ASPについてNETの実用的なテクニックは、実は私たちはすでに多くのことに触れています.参考までにまとめてみましょう.
1.トレースページ実行
ブレークポイントの設定は、ページデバッグ時によく使用される手段です.また、ページのトレース情報を表示してエラーチェックやパフォーマンス最適化を行うこともできます.ASP.NETでページトラッキングを有効にするのは便利です.PageコマンドにTrace=「True」プロパティを追加するだけです.

 

トレース情報は、次の2つに分類されます.
a.ページ実行詳細
主に、ページライフサイクルの各イベントリスト、コントロールツリーリスト(各コントロールのHTMLバイト数およびView Stateバイト数を表示可能)、Sessionステータス、Applicationステータス、Cookieセット、QueryStringセット、サーバ変数などの情報が含まれます.
b.カスタムトレース情報
ページコードでトレースを呼び出す.Write()またはTrace.Warn()メソッドでは、指定した内容をトレース情報の「トレース情報」セクションに書き込むことができます.ページにエラーが発生してもトレース情報が表示され、アプリケーションの発行時に関連するトレースコードを削除する必要はなく、Pageコマンドからトレース属性を削除するだけでよい.
2.サーバー側コントロールにクライアント属性を追加する
サーバ側のコントロールに特殊な属性を追加することがあります.このような属性は、サーバ側の処理を必要とせず、クライアントに簡単に送信するだけでよいので、HTML属性やカスタム属性(特定のJavaScript機能を実現するために使用される場合があります)などのクライアント属性と呼ぶことができます.この目的は、以下の方法で達成できます.
a.直接コントロールにクライアント属性を追加する

 

onmouseoverはクライアント属性です.コンパイラはこの書き方を許可しますが、警告が表示されます.
b.組み込みメソッドの呼び出し
WebControlを呼び出すことができます.Attributes.Add()メソッドは、以下のようにコントロールにクライアント属性を追加します.

MyButton.Attributes.Add("onmouseover", "this.style.cursor='pointer'"); 

これも最もよく使われる方法です.
c.カスタムコントロールの作成
サーバ側コントロールのタイプでクライアント属性を追加する必要がある場合は、特定のクライアント属性を含む、サーバ側コントロールから継承されたカスタムコントロールを作成することを考慮します.
この点を考慮すると、ASP.NET 2.0には、ボタンコントロール(Button、LinkButton、ImageButtonコントロールを含む)にOnClientClick属性が記載されています.

MyButton.OnClientClick = "alert('Hello!')"; 

本当に親切な機能ですね.
3.フォームデータのサーバー側検証
データ検証タスクをサーバからクライアントに移行するプロセスは、JavaScriptの生成を促し、これまでの方法の1つです.しかし,この方式はクライアントJavaScriptの正常な動作を保証する前提の下でのみ機能する.
残念なことに、ブラウザがJavaScriptをサポートしていないか、ユーザーがブラウザのJavaScript機能を意図的にオフにしているなど、いくつかの例外があります.これは、最初の保護の失効を招きます.比較保険の方法は、ユーザーが提出したデータをサーバ側で検証する第2の保護を加えることですが、開発者の作業量が増えるに違いありません.
ASP.NET 2.0は、クライアント側とサーバ側の二重データ検証タスクを簡単に完了できるフォームデータ検証コントロールを提供しています.しかし、サーバ側の検証機能を機能させるには、Pageが必要である.IsValidプロパティは、次の例を参照してください.
名前:

ator ID="RequiredFieldValidator1" ControlToValidate="txtName" 
ErrorMessage="     !" Display="Dynamic" runat="server"> 

名前が入力されているかどうかを確認するためのRequiredFieldValidatorコントロールがあるHTMLクリップです.次に、ボタンをクリックしたときに実行されるサーバー側コードを示します.

protected void btnSubmit_Click(object sender, EventArgs e) 
{ 
if (Page.IsValid) //  :     Page.IsValid      
{ 
Response.Write("     :" + txtName.Text); 
} 
} 

中でもPageには特に注意が必要である.IsValidプロパティの判断は、ページ内のすべての検証コントロールがデータの検証に成功した場合にのみ、Page.IsValidプロパティはTrueです.これは、コミットされたデータが有効なデータであることを意味し、次の操作に進むことができます.
4.フォーム検証をスキップ
場合によっては、フォーム内のすべてのコントロールの検証をスキップする必要がありますが、他の場合は、フォーム内の一部のコントロールをトリガーする検証機能を選択したいと考えています.それぞれこの2つの状況を見てみましょう.
a.すべての検証をスキップ
フォームには、さまざまなデータ入力コントロールのほかに、コミットボタンとキャンセルボタンの2つのボタンがあり、フォームにはデータ検証コントロールもあります.キャンセルボタンをクリックすると、フォーム内のデータの有効性を検証する必要がなく、サーバに直接ページをコミットし、指定したページにリダイレクトすることを望んでいます.
この機能を実現するには、Button、LinkButton、ImageButtonコントロールを含むボタンコントロールのCausesValidationプロパティを使用して、フォーム内のすべての検証をスキップするためにfalseに設定します.
b.いくつかの検証をトリガーする
2つの機能領域に分割されたフォームがあると仮定します.1つはユーザーログイン、もう1つはユーザー登録です.ログインボタンをクリックするとログイン領域のデータ検証のみがトリガーされ、登録ボタンをクリックすると登録領域のデータ検証のみがトリガーされます.
解決策は、関連するデータ検証コントロールとデータコミットコントロール(ボタンコントロール)を同じ検証グループに追加することです.これは、各関連コントロールのValidationGroupプロパティを同じ値に設定することによって実現されます.
5.スクロールバーの位置を保持する
リスト形式でいくつかのデータレコードが表示されているページがあるとします.レコードを編集するたびにサーバにページをコミットする必要があります.ユーザー体験をよくするために、レコードを編集して保存するたびに、スクロールバーの位置が変わらないことを望んでいます.従来の方法では、ページが発行されるたびに、現在のスクロールバーの位置情報を何らかの方法(HiddenフィールドまたはQueryString)でサーバ側に伝え、ページがクライアントに戻ると、サーバ側が入力した位置情報に基づいてJavaScript形式でスクロールバーの位置を再設定する.
ASPを通過するとNETがこの機能を実現するには、PageコマンドにMain ScrollPositionOnPostback=「true」プロパティを追加するだけで非常に簡単になります.

 

6.不要なViewStateを無効にする
ASP.NETの運用メカニズムでは,ViewStateが重要な役割を果たす.ViewStateは符号化されてフォームHiddenフィールドに格納され,ページがサーバに返信されるたびに復号される.したがって、ViewStateの使用は、帯域幅の使用と計算リソースの消費という2つの問題をもたらします.すべてのコントロールがView Stateを有効にする必要はありません.不要なView Stateを完全に無効にすることができます.
ViewStateのデフォルトはオンです.手動でオフにする必要があります.
a.ページViewStateを無効にする
PageコマンドにEnableView State=「false」属性を追加すると、次のようになります.

 

この属性を追加すると、ページ全体およびその中のすべてのコントロールがView Stateを使用できなくなりますので、慎重に使用してください.
b.コントロールViewStateを無効にする
これは、コントロールのEnableView StateプロパティをFalseに設定することで、そのView Stateを無効にする方法です.ここでは簡単なコツがあります.
コントロールのステータスがオペレータによって変更できない場合は、そのViewStateを無効にできます.最も典型的なのはLabelコントロールで、情報しか表示できず、操作できません.
しかし、TextBox、DorpDownListなどのコントロールの状態は変更可能(入力、選択などの操作により)であるため、ViewStateを保持することは有用である.
本文で紹介したいaspについて.Netの実用的なテクニックの6つは、あなたに助けをもたらすことができます.