views:

54

answers:

3

Hi,

I just wanna find out if there's a way to put my onClick event inside .cs:

<button type="submit" runat="server" id="btnLogin" class="button" onclick="btnLogin_Click();">

where Login_Click() should be inside .cs:

protected void btnLogin_Click(object sender, EventArgs e)
{
    // do something
} 

Please do take note that I will not use ASP.NET button here, and that I will not put my Login_Click() event inside .html/.aspx so I can't 'expose' my codes. Any suggestions?

+1  A: 

You can do that on any server control and this button is made a server control by defining "runat=server". The problem is probably in your definition of the event:

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

You don't need "();" there...

Apart from that can you explain why you don't user the <asp:Button> here because I don't really see a problem with that...

Koen
It looks like he already made it a `runat="server"` in the example provided.
R0MANARMY
R0MANARMY is right, you need the "OnServerClick" event for HtmlButton. Updated my example...
Koen
+3  A: 

You'll want to use the onServerClick. There's an example of how to do that on MSDN:

<button id="Button1" OnServerClick="Button1_OnClick" runat="server">
    Click me!
</button>


void Button1_OnClick(object Source, EventArgs e) 
{
    // secret codes go here
}
R0MANARMY
+2  A: 

btnLogin.Click += new EventHandler( btnLogin_Click );

will assign the btnLogin_Click event handler to the button's Click event.

however, I would point out that assigning a handler in the markup of the aspx page does not "expose your codes", as the HTML rendered down to the client doesn't have any of that information in it.

dave thieben