2011-01-08 10 views
2

Button.UseSubmitBehavior propertyは、Buttonコントロールがクライアントブラウザの送信メカニズムまたはASP.NETポストバックメカニズムを使用するかどうかを示す値を取得または設定するために使用されます。クライアントブラウザのサブミットメカニズムとASP.NETポストバックメカニズムの違いは何ですか?

クライアントブラウザのサブミットメカニズムとASP.NETポストバックメカニズムの違いは何ですか?デフォルトの動作が標準falseに設定すると、代わりのような何かをする一方、フォームにボタンを提出するを使用してフォームを送信したと思われますが、参照ドキュメントに基づいて

答えて

6

、ASP.NETには、次のコードのような「__doPostBack」メソッドを呼び出すことによって提出処理するためのスクリプトを生成します。このメソッドは、現在のイベントを発動する要素をサーバーに伝えるためにイベントターゲットに値を追加します。

<script type="text/javascript"> 
//<![CDATA[ 
var theForm = document.forms['ctl00']; 
if (!theForm) { 
    theForm = document.ctl00; 
} 
function __doPostBack(eventTarget, eventArgument) { 
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) { 
     theForm.__EVENTTARGET.value = eventTarget; 
     theForm.__EVENTARGUMENT.value = eventArgument; 
     theForm.submit(); 
    } 
} 
//]]> 
</script> 

<input type="button" name="Button1" value="Submit" onclick="javascript:__doPostBack('Button1','')" id="Button1">  

一方、use submitの動作をtrueに設定すると、ASP.NETは入力ボタンとしてボタンの代わりに入力タイプとしてボタンを生成します。このボタンをクリックすると、フォームが通常送信されます。

<input type="submit" name="Button1" value="Submit" id="Button1"> 

どちらの方法もサーバー側で違いはありません。しかし、use submitの動作をtrueに設定すると、よりクリーンなXHTMLが生成されます。

0

<input type=button onclick="submitForm()" /> 

デフォルトのフォームの動作ある:あなたがfalseに行動を提出使用している場合

<form><input type=submit /></form> 
+0

はい、私は知っていますが、どのようにポストバックメカニズムが異なっていますか? – Ahmed

+0

同じである必要があります。両方ともサーバーへのPOSTを生成します。まあ、技術的には、フォームメソッドはGETになる可能性があるので、POSTは発生しません。 –

関連する問題