ASP.NET/HTML: свойство onClick кнопки HTML внутри ASP.NET (.cs) - PullRequest
21 голосов
/ 02 июля 2010

Я просто хочу узнать, есть ли способ поместить мое событие 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, поэтому я не могу «выставить» свои коды.Есть предложения?

Ответы [ 5 ]

33 голосов
/ 02 июля 2010

Вы можете сделать это на любом серверном элементе управления, и эта кнопка становится серверным элементом управления, определяя «runat=server». Проблема, вероятно, в вашем определении события:

<button ... runat="server" ... onServerClick="btnLogin_Click" />

Вам не нужно "();" там ...

Помимо этого, вы можете объяснить, почему вы не используете <asp:Button> здесь, потому что я действительно не вижу проблемы с этим ...

17 голосов
/ 02 июля 2010

Вы хотите использовать 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
}
5 голосов
/ 03 июля 2010

btnLogin.Click += new EventHandler( btnLogin_Click );

назначит обработчик события btnLogin_Click для события Click кнопки.

однако я хотел бы отметить, что назначение обработчика в разметке страницы aspx не "раскрыть свои коды ", так как HTML-код, представленный клиенту, не содержит никакой информации.

0 голосов
/ 16 марта 2017

Уже поздно, но для кого-то там: подать заявку UseSubmitBehavior="False".Пример

<button type="submit" runat="server" UseSubmitBehavior="False" type="button" id="btnLogin" class="button" onclick="btnLogin_Click();">
0 голосов
/ 28 июля 2015

Я знаю, что уже поздно, но я потерял так много времени на эту проблему.Я устанавливал InnerHtml div с помощью кнопок.Вам нужно добавить type = "submit" к вашей кнопке, если вы хотите, чтобы она работала.

...