Разница между кнопкой и asp: кнопка onclick
Я новичок в разработке в asp.net для создания веб-сайтов. Поэтому у меня есть некоторые проблемы с пониманием разницы между следующим. В чем разница между кнопкой asp: Button и кнопкой ввода?
Код 1
код aspx
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
Codebehind
protected void Button1_Click(object sender, EventArgs e)
{
//Do somthing
}
Код 2
код aspx
<input id="Submit1" type="submit" value="submit" onclick="return Submit1_onclick()" />
<script language="javascript" type="text/javascript">
// <![CDATA[
function Submit1_onclick() {
//Do somthing
}
// ]]>
</script>
Ответы
Ответ 1
Первый код - это код на стороне сервера. Когда вы добавляете тег asp:button
в свою веб-форму, asp.net будет отображать input type="button"
для вас, и когда вы нажмете эту кнопку, он отправит сообщение на ту же страницу (это называется postback
) и будет обработка жизненного цикла и событие asp.net, связанное с этой кнопкой. То же самое верно для каждого управления сервером, такого как TextBoxes
(render input type='text'
), Panels
(отображает divs), Checkboxes
(render input type='checkbox'
), Labels
(render spans
) и т.д..
Во втором коде у вас есть код, который первый будет отображать (input type = 'button'
), но связанный с событием на клиентском javascript.
Вы также можете связать событие на стороне клиента в теге asp:button
, взгляните на свойство OnClientClick
.
Ответ 2
Первый - это элемент управления на стороне сервера, и обработчик события выполняется на сервере в С#. Щелчок по кнопке вызовет обратную передачу, и вся информация в форме будет отправлена на сервер для обработки, включая вызов обработчика события click.
Вторая полностью клиентская сторона, и обработчик события выполняется в браузере в JavaScript.
Ответ 3
asp:Button
- это серверный элемент asp.net, который запускает событие на стороне сервера.
<input id="Submit1" type="submit"
- кнопка клиентской стороны типа submit,
но он может действовать как кнопка на стороне сервера, добавив
runat="server"
и onserverclick="eventname"
Ответ 4
к моему пониманию, вы должны иметь в виду, что будет выполняться код стороны cliend, например javascript в вашем браузере, и код asp/С#, который будет выполняться на сервере.
Итак, имея этот контроль:
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
Button1_Click будет выполняться на сервере, в мире Microsoft - это IIS, с другой стороны
у вас есть только чистый элемент управления html, где вы подключаете функцию javascript для события click
<input id="Submit1" type="submit" value="submit" onclick="return Submit1_onclick()" />
Таким образом, сторона сервера не имеет ничего общего с этой частью, этот код будет выполняться на вашем компьютере в вашем браузере.
Ответ 5
Как мне нравится:
1.- En el botón:
<input type="submit" id="btnAccept" value="Log In" runat="server" onserverclick="btnAccept_Click">
2.- En el codebehind:
Protected Sub btnAccept_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)