В чем разница между механизмом отправки клиентского браузера и механизмом обратной передачи ASP.NET? - PullRequest
3 голосов
/ 08 января 2011

Свойство Button.UseSubmitBehavior используется для получения или установки значения, указывающего, использует ли элемент управления Button механизм отправки в браузере клиента или механизм обратной передачи ASP.NET.

Итак, в чем разница между механизмом отправки клиентского браузера и механизмом обратной передачи ASP.NET?

Ответы [ 2 ]

7 голосов
/ 08 января 2011

Если для свойства use submit установлено значение 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 значение true, ASP.NET сгенерирует кнопку как тип ввода submitвместо кнопки типа.При использовании нажмите эту кнопку, форма будет обычно отправлена.

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

Оба способа не имеют различий на стороне сервера.Но если вы установите для свойства use submit значение true, он сгенерирует немного чище XHTML.

0 голосов
/ 08 января 2011

Исходя из документов, на которые вы ссылались, кажется, что поведение по умолчанию отправляет форму, используя стандартную кнопку отправки формы, в то время как при установке значения false вместо этого будет выполняться что-то вроде:

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

Поведение формы по умолчанию:

<form><input type=submit /></form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...