<input type="button" runat = "server" /"> не будет работать в ASP.NET

Хорошо, это может показаться глупым, но на элементе управления ASP.NET.ascx я пытаюсь использовать:

вместо:

И это не работает для меня. Этот код:

отображает следующий HTML: (игнорируя контейнеры имен btw)

Это в основном прекрасное, за исключением того, что я хочу input type="button" не input type="submit".

Я пробовал этот код:

и получить этот HTML:

К сожалению, отображаемая кнопка не работает. Кроме того, я даже попробовал input type="submit" просто проверить, но если я не использую , я не могу заставить его работать. Я уверен, что это как-то связано с JavaScript.

Есть ли способ использовать обычную разметку HTML-кнопок и runat="server" в ASP.NET?

4 ответа

Что вам не хватает, это атрибут UseSubmitBehavior, например,

Это даст вам обычную кнопку, а не кнопку отправки.


Чтобы указать управляющий поток runat = server, вы также должны указать идентификатор. Также ошибка, которую вы получаете, вероятно, связана с ошибкой js. Событие onclick на стандартном элементе управления html предполагает метод script define, тогда как кажется, что вы хотели выполнить операцию типа postback. Ваш вариант состоит в том, чтобы определить функцию javascript в соответствии с именем метода, которое вы передаете событию onclick, или использовать метод __doPostBack для явного запуска обратной передачи


Вы пробовали:

<button type="button" id="btnBuyCat" name="btnBuyCat" value="Shopping Cart" title="Click to buy a cat" onclick="btnBuyCat_Click">Click Me!</button>


Вы можете использовать:

btnBuyCat.ServerClick += new EventHandler(btnBuyCat_ServerClick);

licensed under cc by-sa 3.0 with attribution.