用于Button Click Event,ASP.NET的C#代码

时间:2017-06-14 14:07:28

标签: c# html asp.net button code-behind

我正在使用同事在.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字段添加到与后面的aspx.cs代码中的C#方法相对应的HTML中,但是我无法使按钮单击实际触发后面代码中的方法。我假设如果我在C#aspx.cs代码中添加带有名称的方法,那么只需单击按钮就可以执行此操作,但我显然错了。

我可以在后面的代码中编写按钮的功能,而无需更改提供给我的HTML吗?或者我必须先改变HTML,如果是这样的话?

6 个答案:

答案 0 :(得分:10)

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

更换它们不应该改变页面的外观和感觉。如果有的话,只需添加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.
}

答案 1 :(得分:2)

<button type="submit" runat="server" id="btnLogin"  onserverClick="btnLogin_Click1">login </button> 

只需将onClick替换为onserverClick

答案 2 :(得分:0)

你需要更换

onclick="btnLogin_Click();"

onclick="btnLogin_Click"

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

答案 3 :(得分:0)

我的建议是将HTML控件更改为<asp:Button />并将事件处理程序连接到ASP.NET。语法看起来像下面的

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

答案 4 :(得分:0)

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

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

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

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

希望有所帮助

答案 5 :(得分:0)

有很多方法可以从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