【问题标题】:ASP.NET/HTML: HTML button's onClick property inside ASP.NET (.cs)ASP.NET/HTML:ASP.NET (.cs) 中 HTML 按钮的 onClick 属性
【发布时间】:2011-03-11 04:22:42
【问题描述】:

我只是想知道是否有办法将我的 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 中,因此我不能“公开”我的代码。有什么建议吗?

【问题讨论】:

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


    【解决方案1】:

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

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

    那里不需要“();”...

    除此之外,你能解释一下为什么你不在这里使用&lt;asp:Button&gt;,因为我真的看不出有什么问题...

    【讨论】:

    • 看起来他已经在提供的示例中将其设为runat="server"
    • R0MANARMY 是对的,您需要 HtmlButton 的“OnServerClick”事件。更新了我的示例...
    • 使用 HTML 按钮标签而不是 asp 控件的一个常见原因是 asp 呈现控件的 ID,而在公共按钮标签中您可以对其进行更多控制。
    【解决方案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 事件。

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

      【讨论】:

        【解决方案4】:

        我知道已经很晚了,但我在这个问题上浪费了很多时间。我正在设置带有按钮的 div 的 InnerHtml。如果你想让它工作,你需要将 type="submit" 添加到你的按钮。

        【讨论】:

          【解决方案5】:

          已经很晚了,但是对于那里的人:申请UseSubmitBehavior="False"。示例

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

          【讨论】:

            猜你喜欢
            • 2022-08-23
            • 1970-01-01
            • 1970-01-01
            • 2012-07-07
            • 2022-11-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多