ASP.NET / HTML:ASP.NET按钮中的HTML按钮的onClick属性(.cs)

时间:2010-07-02 15:54:42

标签: c# asp.net html event-handling onclick

我只是想知道是否有办法将我的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 个答案:

答案 0 :(得分:33)

您可以在任何服务器控件上执行此操作,并通过定义“runat=server”使此按钮成为服务器控件。问题可能在于您对事件的定义:

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

你不需要“();”......

除此之外,你可以解释为什么你不在这里使用<asp:Button>因为我真的没有看到这个问题......

答案 1 :(得分:17)

您需要使用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
}

答案 2 :(得分:5)

btnLogin.Click += new EventHandler( btnLogin_Click );

会将btnLogin_Click事件处理程序分配给按钮的Click事件。

但是,我要指出在aspx页面的标记中分配处理程序不会“暴露你的代码”,因为呈现给客户端的HTML中没有任何信息。

答案 3 :(得分:0)

I know it's late but i lost so much time on this problem. I was setting InnerHtml of a div with buttons. You need to add type="submit" to your button if you want it to work.

答案 4 :(得分:0)

现在已经很晚了但对于那里的人:申请UseSubmitBehavior="False"。实施例

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