Asp.Net知識の初歩的なまとめ

6755 ワード

1、Page_ロードイベント中!Page.isPostBack:
    Page_Loadサブルーチンは、ページがロードされるたびに実行されます.ページを最初にロードしたときだけPage_を実行する場合Loadのコードは、Pageを使用できます.IsPostBackプロパティ.もしPage.IsPostBackプロパティはfalseで、ページは初めてロードされ、trueの場合、ページは「ポスト」(post)でサーバに返されます.
例:
protected void Page_Load(object sender, EventArgs e)        {
            if (!Page.IsPostBack)
            {
    //            ,                    
                this.txtUserName.Text = "";
                this.txtUserPwd.Text = "";
            }        
            
        }

説明:Page.IsPostBack=falseはテキストボックスの内容が空になり、ページが初めてロードされたことを示します.
     Page.IsPostBackはリターン動作かどうかを示す.再送とは,ページのロード後に,本ページにサーバをコミットする動作である.Page.IsPostBack==trueは返信を表します.クライアントの要求に応えるためにPage.IsPostBack=falseなので、Pageを正しく適用します.IsPostBackはアプリケーションのパフォーマンスを大幅に向上させることができます.
まとめ:
1)IsPostBackは最初に開いた時だけfalse、その他はtrue
2)ページLoadごとに必要に応じて毎回ロードするコードをIsPostBackに入れ、一度だけロードするコードをif(!IsPostBack)に入れます.
3)サーバからのメッセージがユーザに返信されるたびに、isPostBackプロパティが起動し、このユーザがログインまたは他のイベントを行ったことがあるかどうかを判断する
4)Post方式Requestに要求値がない場合、すなわちRequest.Form=nullならIsPostBack=false;Get方式Requestに要求値がない場合、すなわちRequest.QueryString=nullならIsPostBack=falseです.
5)一般的にRequestで要求値がない場合IsPostBack=falseと判断する.要求値があるが"_VIEWSTATE"などの特定のキーまたは値が含まれていない場合、IsPostBack=false(要求されるたびに.Netフレームワークは特定の非表示ドメイン"_VIEWSTATE"などをクライアントに返す).また、サーバを含む上記のルールが正しく判断できない特殊な処理が必要な場合もある.Transfer,Response.Redirect,CrossPagePostBack,Server.Executeでは、ページ要素の変更や再コンパイルが発生しました.
2、RequestとResponseの違い
Requestはクライアントがサーバに要求を送信することである.Responseは,サーバがクライアントに情報を出力する.
(1)Requestのオブジェクトのプロパティ:
Form:Webページで定義されたフォーム変数の集合を取得します.
QueryStringは、名前/値ペアで表されるHTTPクエリ文字列変数の集合を取得する.変数値はアドレスバーに表示され、セキュリティは保証されません.Formフォームのコントロール値をRequestで渡す.Formは値を取得する、アドレスバーに渡されるパラメータはRequest.QueryString取得.
    1>.getとpostの2つのコミットの違い:
getはサーバからデータを取得し,postはサーバにデータを転送する.getは、パラメータデータキューを提出フォームのACTION属性が指すURLに加え、値とフォーム内の各フィールドが1つ1つ対応し、URLに表示される.postは、HTTPpostメカニズムにより、フォーム内の各フィールドをその内容とともにHTML HEADER内に配置してACTION属性が指すURLアドレスに転送する.ユーザーはこのプロセスを見ることができません.get方式の場合、サーバ側はRequestを用いる.QueryStringは変数の値を取得する、post方式に対してサーバ側はRequestを用いる.Formはコミットデータを取得する.get転送のデータ量は小さく,2 KBを超えることはできない.post転送のデータ量は大きく、一般的には制限されないようにデフォルトされています.getセキュリティが非常に低い、postセキュリティが高い、機密情報が含まれている場合は、Postデータの提出方式を提案する.しかし、実行効率はPost法よりも良好である.データクエリを行う場合、Get方式を推奨します.データの追加、変更、削除を行う場合は、Post方式を推奨します.
 
2>ログイン画面を例に挙げます.
a.get方式
<form  method="get" action="WebForm2.aspx">
        <table border="0" style="width:100%;">
            <tr>
                <td> </td>
                <td>
                    <input id="Text1" name="txtUserName" type="text" /></td>
                <td> </td>
            </tr>
            <tr>
                <td class="auto-style1"></td>
                <td class="auto-style1">
                    <input id="Text2" name="txtUserPwd" type="text" /></td>
                <td class="auto-style1"></td>
            </tr>
            <tr>
                <td> </td>
                <td>
                    <input id="Submit1" type="submit" value="  " /></td>
                <td> </td>
            </tr>
        </table>

    </form>

getメソッドで転送されたデータの書き方を受信します.
  protected void Page_Load(object sender, EventArgs e)        {
            
            string userName =Request.QueryString["txtUserName"].ToString();
            string userPwd =Request.QueryString["txtUserPwd"].ToString();
            
            if (userName =="a"&&userPwd =="a")
            {
                Response .Redirect ("WebForm1.aspx?userName="+userName+"&userPwd="+userPwd);
            }
            else
            {
                Response.Redirect("login.html");
            }
        }

b.post方式
<form  method="post" action="WebForm2.aspx">
        <table border="0" style="width:100%;">
            <tr>
                <td> </td>
                <td>
                    <input id="Text1" name="txtUserName" type="text" /></td>
                <td> </td>
            </tr>
            <tr>
                <td class="auto-style1"></td>
                <td class="auto-style1">
                    <input id="Text2" name="txtUserPwd" type="text" /></td>
                <td class="auto-style1"></td>
            </tr>
            <tr>
                <td> </td>
                <td>
                    <input id="Submit1" type="submit" value="  " /></td>
                <td> </td>
            </tr>
        </table>

    </form>

Postメソッドで送信されたデータの書き方を受信します.
protected void Page_Load(object sender, EventArgs e)        {

            string userName = Request.Form.Get("txtUserName").ToString();
            string userPwd = Request.Form.Get("txtUserPwd").ToString();
           
            if (userName =="a"&&userPwd =="a")
            {
                Response .Redirect ("WebForm1.aspx?userName="+userName+"&userPwd="+userPwd);
            }
            else
            {
                Response.Redirect("login.html");
            }
        }

(2)Response常用方法:
write:現在のHTTP応答ストリームにテキストを書き込み、戻りページの一部にする.
Redirect:ユーザーを要求ページから別のページに再配向または持ち込みます.
3、html、html、xmlの違い
htmはhtmlですいずれも静的Webファイルの拡張子です.htmはDOS 3文字ファイル拡張子の時代から来た.htmlはwindows時代に多文字拡張子をサポートしたものです.
Xmlはデータを格納するために使用され、データ自体に重きを置く.HTMLはデータを定義するためのもので、データの表示モードに重点を置いています.XMLは、構造化された情報に含まれるいくつかのコンテンツ(例えば、文字、ピクチャなど)と、コンテンツの再生手段を示すいくつかのタグ(例えば、1つの章のヘッダの情報とその脚注の情報とは異なる意味を持つ)である.すべてのドキュメントには異なる構造があります.1つのタグ言語は、ドキュメント構造を定義するメカニズムです.XML仕様は、ドキュメントをマークする基準を定義します.
まとめ:ASP.NETこれはただの始まりで、もっと多くの知識が私たちが勉強するのを待っていて、もっと多くの宝物が私たちが掘り起こすのを待っています.