2017-06-14 71 views
1

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

</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中,但我无法使按钮单击实际触发代码背后的方法。我假设,如果我添加方法的名称后跟onclick到C#aspx.cs代码,那么只需单击按钮即可执行此操作,但我明显错误。

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

+0

前缀为'ASP中的:'是Web窗体控制。你可以阅读所有关于[在文档](https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button(v = vs.110).aspx)。 – mason

回答

2

你也许可以用添加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. 
} 
0

您需要更换

onclick="btnLogin_Click();" 

onclick="btnLogin_Click" 

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

+0

我更新了我的答案 – Plargato

0

我的建议是将HTML控件更改为<asp:Button />,并让ASP.NET连接事件处理程序。语法会如果你使用像Visual Studio/Express中的一个工具,弹出相关网页(aspx页面)类似于下面

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

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

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

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

希望它可以帮助