Хорошо, это может казаться глупым, но на ASP.NET .ascx управление, я пытаюсь использовать:
<input type="button" runat="server" />
вместо:
<asp:Button runat="server" />
И это не работает на меня. Этот код:
<asp:Button id="btnBuyCat" runat="server" Text="Buy Cat"
ToolTip="Click to buy a cat" OnClick="btnBuyCat_Click" EnableViewState="false" />
рендеринг следующий HTML: (игнорирующий именованные контейнеры btw)
<input type="submit" id="btnBuyCat" name="btnBuyCat" value="Shopping Cart"
title="Click to buy a cat" />
Это прекрасно главным образом, кроме я хочу input type="button"
нет input type="submit"
.
Я попробовал этот код:
<input type="button" id="btnBuyCat" name="btnBuyCat" runat="server"
value="Buy Cat" title="Click to buy a cat" onclick="btnBuyCat_Click"
enableviewstate="False" />
и получите этот HTML:
<input type="button" id="btnBuyCat" name="btnBuyCat"" value="Buy Cat"
title="Click to buy a cat" onclick="btnBuyCat_Click" />
К сожалению, представленная кнопка не работает. Кроме того, я даже попробовал input type="submit"
только для проверки, но если я не использую <asp:Button>
Я не могу заставить это работать. Я уверен, что это имеет некоторое отношение к JavaScript.
Есть ли способ использовать регулярную разметку кнопки HTML и a runat="server"
в ASP.NET?
Чего вам не хватает, так это атрибута UseSubmitBehavior
, например,
<asp:Button id="btnBuyCat" runat="server" Text="Buy Cat"
UseSubmitBehavior="False" ToolTip="Click to buy a cat"
OnClick="btnBuyCat_Click" EnableViewState="false" />
Это даст вам обычную кнопку, а не кнопку отправки.
Чтобы указать runat = server элемента управления вводом, необходимо также указать идентификатор. Также ошибка, которую вы получаете, вероятно, связана с ошибкой js. Событие onclick в стандартном элементе управления html предполагает определение метода сценария, тогда как кажется, что вы хотели выполнить операцию типа обратной передачи. Вы можете определить функцию javascript в соответствии с именем метода, которое вы даете событию onclick, или использовать метод __doPostBack для явного запуска обратной передачи
<input type="button" runat="server" id="btnTest" />
Вы пробовали:
<button type="button" id="btnBuyCat" name="btnBuyCat" value="Shopping Cart"
title="Click to buy a cat" onclick="btnBuyCat_Click">Click Me!</button>