Ispostbackの原理

7264 ワード

ispostback、aspに従事しています.Net学習と開発の人はよく知っています.これはページクラスの属性で、ページがフォームを提出するか、初めてアクセスするかを判断するためのマークです.asp.Netの実行メカニズムは,要求をコミットし,要求を処理し,要求に応答するプロセスである.フォームをコミットする場合:サーバにコミットするフォーム要素は必ずname属性(名前)を設定し、idはDomとjqueryに設定するために使用され、サービスはnameのみを認識します.
現在、Webサイトを開発しているのは、aspxページで処理ページを作っているからです.次に、ページの処理方法について説明します.
まずispostbackを新規作成します.htmページは、次のとおりです.

  
    
< form action = " ispostback.ashx " > <!-- -->

< input type = " hidden " name = " ispostback " value = " true " /> <!-- -->

<!-- Something else -->
This
is ispostback.htm page content !
< input type = " submit " value = " " /></ form >

  
    
htm ispostback.ashx 。ispostback.ashx :
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType
= " text/html " ;
string oldContent = File.ReadAllText(context.Server.MapPath( " Ispostback.htm " ));
context.Response.Write(oldContent);
// ispostback.htm , 。

string ispostback = context.Request[ " ispostback " ]; // htm
// , 。
if (ispostback == " true " )
{
context.Response.Write(
" ( postback ) " );
}
else
{
context.Response.Write(
" !( postback ) " );
}
}

ブラウザでispostbackに初めてアクセスしたらashx、印刷されたのはispostbackです.htmの内容と最初のアクセス(postbackではありません)のタグ.ボタンをクリックすると、提出フォームが表示されます.これがaspです.Netのispostbackの原理.
ashxは1つのサーバーの処理プログラムで、ページformがサーバーに提出したデータはすべて彼を呼び出して処理して、実はaspxも処理プログラムで、ただ通過しただけです.Netパッケージ後のプロセッサは、ashxから継承されます.
aspxページは上のispostbackに相当するテンプレートだと推測します.htmはispostbackの隠しフィールドをカプセル化し、aspx.csはプロセッサです.提出された処理要求はすべて処理され、テンプレートを読み、その内容を描き返します.
私が学んだことを学びたいので、皆さんのご指摘を歓迎します.ありがとうございます.