Button.UseSubmitBehavior property用于获取或设置一个值,该值指示Button控件是使用客户端浏览器的提交机制还是ASP.NET回发机制。客户端浏览器的提交机制和ASP.NET回发机制有什么区别?
那么,客户端浏览器的提交机制和ASP.NET回发机制有什么区别?
Button.UseSubmitBehavior property用于获取或设置一个值,该值指示Button控件是使用客户端浏览器的提交机制还是ASP.NET回发机制。客户端浏览器的提交机制和ASP.NET回发机制有什么区别?
那么,客户端浏览器的提交机制和ASP.NET回发机制有什么区别?
如果设置使用行为提交虚假,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">
另一方面,如果您将使用提交行为设置为true,ASP.NET将生成按钮作为输入类型提交而不是类型按钮。当使用单击此按钮时,表单通常会被引用。
<input type="submit" name="Button1" value="Submit" id="Button1">
这两种方式在服务器端没有区别。但是,如果将使用提交行为设置为true,则会生成一个更清洁的XHTML。
根据您引用似乎默认行为,使用标准的形式提交按钮提交一个表单的文档,同时将其设置为false,反而会做这样的事情:
<input type=button onclick="submitForm()" />
默认表单行为是:
<form><input type=submit /></form>
是的,我知道,但回发机制如何不同? – Ahmed 2011-01-08 20:17:38