、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が生成されます。
はい、私は知っていますが、どのようにポストバックメカニズムが異なっていますか? – Ahmed
同じである必要があります。両方ともサーバーへのPOSTを生成します。まあ、技術的には、フォームメソッドはGETになる可能性があるので、POSTは発生しません。 –