ASP.NET按钮未在单击事件上触发

我是Asp.net的新手,我的问题可能不那么专业。 我在我的asp.net Web表单项目中使用Udemy.com的设计。 我将udemy的页眉和页脚放在udemy页中。 但是,当我向m web表单中的一个添加按钮时,click事件将不会触发。

  protected void Button1_Click1(object sender, EventArgs e) { Page.Title = "Sample Text"; } 

为了解决这个问题,我从我的页面中删除了所有脚本。 我还尝试将CausesValidation设置为False。 但没有任何帮助。 你能帮我解决这个问题吗?

更新

我在我的代码中添加了OnClick事件。 但我仍然面临这个问题。

之前的所有答案都是正确的,除了您已经将OnClick事件“添加”到“.aspx”文件中。 我不知道它是你正在使用的模板中的某个东西,还是代码中的其他地方。 但我建议您检查以下内容(根据我遇到类似情况的经验):

  1. 您的“.aspx”页面中是否有任何Field Validators? 也许其中一个validation器被解雇,如果它们没有任何错误消息。
  2. 你有没有从其他地方复制过那个按钮? 如果是,则尝试添加新按钮并添加其单击事件,方法是双击设计模式中的按钮。 有时“OnClick”按钮的事件未在“.designer.cs”文件中注册。

您可以尝试的一些要点…您发布的代码(更新后)应该可以使用。

  • 如果您打开视觉工作室的“设计”部分并双击按钮,这将引导您点击该按钮,如果没有一个事件,那么它将为您创建一个事件。
  • 您的按钮必须位于表单标记内。
  • 要测试事件,单击是触发,使用Breakpoints而不是标签或任何其他标记更改,但如果您需要它…您应该检查Title组件是否具有runat="server"属性并且它位于更新面板中。

这是一个示例代码,您错过了按钮中的“OnClick =”MyButton_Click“。

ASPX

  code behind protected void **MyButton_Click**(object sender, EventArgs e) { // Put code here over there chuhu } 

添加CausesValidation = "false"按钮的CausesValidation = "false"属性,如:

  

你缺少OnClick="Button1_Click" 。 你需要添加这样的事件

  

如果要在代码后面分配单击处理程序,请确保它不在IsPostBack == false检查中:

 void Page_Load (object oSender, EventArgs oEventArgs) { if (IsPostBack == false) { oButton += new EventHandler(oButton_Click); // does not work } oButton += new EventHandler(oButton_Click); // does work } 

你的按钮应该是这样的

  

你能试试这个:

  

您没有提到按钮单击事件的事件处理程序。

希望能帮助到你。

尝试将Button放在表单标记内

 

这是一个示例代码,您错过了按钮中的“OnClick =”MyButton_Click“。

ASPX

  

代码背后

 protected void **MyButton_Click**(object sender, EventArgs e) { // Put code here } 

我个人的回答是,您需要在Google中了解更多内容

asp.net的一些最好的教程

http://www.w3schools.com/aspnet/default.asp

http://www.asp.net/web-pages/tutorials

http://asp.net-tutorials.com/

http://quickstarts.asp.net/QuickStartv20/default.aspx并且可以从MSDN网站上学到很多知识

你可以了解更多的asp.net控件等….

试试这个

  

这是你的页面指​​令吗?

  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

请在yourpage.aspx.designer.cs文件中正确定义检查按钮。

类似下面的代码:

 protected global::System.Web.UI.WebControls.Button Button1; 

像这样的页面指令

Default.aspx的

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

HTML

  

以下代码应该在Default.aspx.cs中

 protected void Button1_Click(object sender, EventArgs e) { Page.Title = "Sample Text"; } 

我猜测可能存在的问题是指令中可能存在问题

Default.aspx的

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

否则你不会在form标签内调用asp:Button标签

  

请在线测试aspdotnetfiddle中的简单示例。

使用单个按钮和标签控件创建示例程序,单击按钮,触发按钮的单击事件,在该分配标签文本值。

在我的情况下,它没有触发事件,因为我将按钮附加到母版页的主体,

标签位于标签中

我已经通过将按钮附加到

标签来解决了这个问题

旧代码

 $('body').append($(".ButtonsDiv")); 

新代码

 $('#form1').append($(".ButtonsDiv")); 

如果您有两个按钮和两个validation摘要,则必须为每个validation摘要,文本框和按钮添加ValidationGroup = "Group2"

而对于另一个添加: ValidationGroup="Group1" ,它应该工作。

如果问题是validation触发并且您的按钮不应触发validation,请考虑将CausesValidation =“false”添加到按钮的属性中。

Javascript可能会在您的页面上静默失败,导致处理被放弃,从而阻止点击事件被触发。 如果我怀疑这种情况发生了,我会在调试之前立即将其粘贴到脚本标记下:

 window.onerror = function (message, filename, linenumber) { alert("JS error: " + message + " on line " + linenumber + " for " + filename); } 

删除生产代码。

检查并尝试删除其他输入元素上的“required”属性。 它适用于我的情况..我花了很长时间才发现它。

在这里阅读这个问题..同样问题asp.net按钮OnClick事件没有解雇