按钮单击事件的 C# 代码,ASP.NET

C# code behind for Button Click Event, ASP.NET

我正在使用同事在 .aspx 中提供的 HTML,我需要在 .aspx.cs(C#) 中编写他使用 HTML 创建的按钮的功能。 我正在处理的代码如下:

<div>
    <button style="padding: 10px; margin-bottom: 10px;" class="w3-round w3-blue">Ship</button>
    <button style="padding: 10px; margin-bottom: 10px;" class="w3-round w3-blue">Rate</button>
</div>

我是 HTML 的新手,但在寻找类似问题的解决方案时,我经常看到功能按钮的 HTML 代码看起来更像

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

有时还有

<asp:

开头。我试过简单地将 runat 和 onclick 字段添加到 HTML 中,它们与后面 aspx.cs 代码中的 C# 方法相对应,但我无法使按钮单击实际触发方法背后的代码。我假设如果我将方法的名称跟在 onclick 之后添加到 C# aspx.cs 代码中,那么它只会在单击按钮时执行它,但我显然错了。

我可以在不更改提供给我的 HTML 的情况下在代码中编写按钮的功能吗?或者我必须先改变 HTML 如果是的话如何?

您需要更换

onclick="btnLogin_Click();"

onclick="btnLogin_Click"

因为 asp.net 按钮的 onClick 属性 需要包含它在 aspx.cs 文件中调用的函数的名称,而不是实际调用。

我的建议是将 HTML 控件更改为 <asp:Button /> 并通过 ASP.NET 连接事件处理程序。语法如下所示

<asp:Button ID="Test" runat="server" Text="Button" OnClick="Test_Click" />

如果您使用的是 Visual Studio/Express 之类的工具,请调出有问题的页面(aspx 页面)。

从控件工具栏中将一个按钮拖到页面上。

如果您在设计视图中双击按钮,它将自动在代码隐藏中创建事件处理程序。

按钮控件有几个属性 OnClick 和 OnClientClick。使用 OnClientClick 触发页面上的任何 JavaScript。

希望对您有所帮助

有一些方法可以从 html 控件访问 asp.net 代码隐藏处理程序。您可以尝试添加 onserverclick 处理程序,或者您可以使用参数进行回发并将处理程序添加到构造函数中的回发。

很少有链接可以帮助您:

https://forums.asp.net/t/1650304.aspx?Calling+code+behind+function+from+a+html+button

calling server side event from html button control

您可能可以在按钮中添加 runat="server" 属性,但我从未尝试过,坦率地说,使用适当的 Web 控件是最好的方法。

替换它们根本不会改变页面的外观。只需添加 CssClass="xxx" 以应用 css(如果有的话),否则它们无论如何都会呈现为标准 html 元素。

您的标记应如下所示:

<asp:Button runat="server" id="btnLogin" Text="Log In" OnClick="btnLogin_Click" />

您的代码中匹配的事件处理程序如下所示:

protected void btnLogin_Click(object sender, EventArgs e)
{
    // Here's where you do stuff.
}
<button type="submit" runat="server" id="btnLogin"  onserverClick="btnLogin_Click1">login </button> 

只需将 onClick 替换为 onserverClick