ASP.NET/HTML: свойство HTML onClick внутри ASP.NET(.cs)
Я просто хочу узнать, есть ли способ разместить событие onClick внутри .cs:
<button type="submit" runat="server" id="btnLogin" class="button" onclick="btnLogin_Click();">
где Login_Click() должен находиться внутри .cs:
protected void btnLogin_Click(object sender, EventArgs e)
{
// do something
}
Пожалуйста, обратите внимание, что я не буду использовать кнопку ASP.NET здесь, и что я не буду помещать свое событие Login_Click() внутри .html/.aspx, чтобы я не мог "разоблачить" мои коды. Любые предложения?
Ответы
Ответ 1
Вы можете сделать это на любом серверном элементе управления, и эта кнопка становится серверным, определяя "runat=server
". Вероятно, проблема связана с определением события:
<button ... runat="server" ... onServerClick="btnLogin_Click" />
Вам не нужно "();
" там...
Кроме того, вы можете объяснить, почему вы не используете <asp:Button>
здесь, потому что я действительно не вижу проблемы с этим...
Ответ 2
Вы хотите использовать onServerClick. Вот пример того, как это сделать на MSDN:
<button id="Button1" OnServerClick="Button1_OnClick" runat="server">
Click me!
</button>
protected void Button1_OnClick(object Source, EventArgs e) {
// secret codes go here
}
Ответ 3
btnLogin.Click += new EventHandler( btnLogin_Click );
назначит обработчик события btnLogin_Click кнопке Click event.
однако, я хотел бы указать, что назначение обработчика в разметке страницы aspx не "раскрывает ваши коды", так как HTML, переданный клиенту, не содержит в себе никакой информации.
Ответ 4
Я знаю это поздно, но я потерял столько времени на эту проблему. Я устанавливал InnerHtml div с кнопками. Вам нужно добавить type = "submit" к вашей кнопке, если вы хотите, чтобы она работала.
Ответ 5
Поздно, но для кого-то там: Примените UseSubmitBehavior="False"
. Пример
<button type="submit" runat="server" UseSubmitBehavior="False" type="button" id="btnLogin" class="button" onclick="btnLogin_Click();">