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

abr*_*pin 21 html c# asp.net onclick event-handling

我只是想知道是否有办法将我的onClick事件放在.cs中:

<button type="submit" runat="server" id="btnLogin" class="button" onclick="btnLogin_Click();">
Run Code Online (Sandbox Code Playgroud)

其中Login_Click()应该在.cs中:

protected void btnLogin_Click(object sender, EventArgs e)
{
    // do something
} 
Run Code Online (Sandbox Code Playgroud)

请注意我不会在这里使用ASP.NET按钮,并且我不会将我的Login_Click()事件放在.html/.aspx中,所以我不能'公开'我的代码.有什么建议?

Koe*_*oen 33

您可以在任何服务器控件上执行此操作,并通过定义" runat=server" 将此按钮设置为服务器控件.问题可能在于您对事件的定义:

<button ... runat="server" ... onServerClick="btnLogin_Click" />
Run Code Online (Sandbox Code Playgroud)

你不需要();那个......

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


R0M*_*RMY 18

您将要使用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
}
Run Code Online (Sandbox Code Playgroud)


dav*_*ben 5

btnLogin.Click += new EventHandler( btnLogin_Click );

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

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