Button.UseSubmitBehavior property用于获取或设置一个值,该值指示Button控件是使用客户端浏览器的提交机制还是ASP.NET回发机制。
那么,客户端浏览器的提交机制和ASP.NET回发机制有什么区别?
答案 0 :(得分:7)
如果将use submit behavior设置为false,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 behavior设置为true,则ASP.NET将生成按钮作为输入类型submit而不是type按钮。使用时单击此按钮,表单通常会被提交。
<input type="submit" name="Button1" value="Submit" id="Button1">
两种方式在服务器端都没有区别。但是如果你将使用提交行为设置为true,它将生成更清晰的XHTML。
答案 1 :(得分:0)
根据您引用的文档,似乎默认行为使用表单中的标准提交按钮提交表单,而将其设置为false则会执行以下操作:
<input type=button onclick="submitForm()" />
默认的表单行为是:
<form><input type=submit /></form>