[英]ASP.NET button not firing on click event
我是Asp.net的新手,我的问题可能不那么专业。 我在我的asp.net Web表单项目中使用Udemy.com的设计。 我把页眉和页脚udemy
在masterpage
。 但是,当我向其中一个网页表单添加一个按钮时,点击事件将不会触发。
<asp:Button ID="Button1" runat="server" onclick="Button1_Click1" Text="Button" />
protected void Button1_Click1(object sender, EventArgs e)
{
Page.Title = "Sample Text";
}
为了解决这个问题,我从我的页面中删除了所有脚本。 我还尝试将CausesValidation
设置为False。 但没有任何帮助。 你能帮我解决这个问题吗?
我在我的代码中添加了OnClick事件。 但我仍然面临这个问题。
以前的所有答案都是正确的,除了您已经“OnClick”事件“添加”到“.aspx”文件。 我不知道它是你正在使用的模板中的某个东西,还是代码中的其他地方。 但我建议您检查以下内容(根据我遇到类似情况的经验):
您可以尝试的一些要点...您发布的代码(更新后)应该可以使用。
Breakpoints
不标记或任何其他标记更改,但如果您需要它...您应检查Title
组件是否具有runat="server"
属性并且它位于更新面板中。 这是一个示例代码,您在按钮中错过了“OnClick =”MyButton_Click“。
ASPX
<asp:Button ID="MyButton" **OnClick="MyButton_Click"** runat="server" />
code behind
protected void **MyButton_Click**(object sender, EventArgs e)
{
// Put code here over there chuhu
}
添加CausesValidation = "false"
按钮的CausesValidation = "false"
属性,如:
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" CausesValidation="false"></asp:Button>
你缺少OnClick="Button1_Click"
。 你需要添加这样的事件
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"></asp:Button>
如果要在代码后面指定单击处理程序,请确保它不在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
}
你的按钮应该是这样的
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"/>
你能试试这个:
<asp:Button ID="Button1" runat="server" Text="Button" onClick="Button1_Click" />
您没有提到按钮单击事件的事件处理程序。
希望能帮助到你。
试试这个
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"></asp:Button>
这是你的页面指令吗?
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
尝试将Button放在表单标记内
如
<form id="#" runat="Server">
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"></asp:Button>
</form>
像这样的页面指令
Default.aspx的
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
HTML
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
以下代码应该在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标签
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</div>
</form>
这是一个示例代码,您在按钮中错过了“OnClick =”MyButton_Click“。
ASPX
<asp:Button ID="MyButton" **OnClick="MyButton_Click"** runat="server" />
代码背后
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://quickstarts.asp.net/QuickStartv20/default.aspx并且可以从MSDN网站上学到很多知识
你可以了解更多的asp.net控件等....
请在yourpage.aspx.designer.cs文件中正确定义检查按钮。
类似下面的代码:
protected global::System.Web.UI.WebControls.Button Button1;
请在线测试aspdotnetfiddle中的简单示例。
使用单个按钮和标签控件创建示例程序,单击按钮,触发按钮的单击事件,在该分配标签文本值。
在我的情况下,它没有触发事件,因为我将按钮附加到母版页的主体, <form>
标签位于<body>
标签中
我已经通过将按钮附加到<form>
标签来解决了这个问题
$('body').append($(".ButtonsDiv"));
$('#form1').append($(".ButtonsDiv"));
如果您有两个按钮和两个验证摘要,则必须为每个验证摘要,文本框和按钮添加ValidationGroup = "Group2"
。
对于另一个添加: ValidationGroup="Group1"
,它应该工作。
如果问题是验证触发并且您的按钮不应该触发验证,请考虑将CausesValidation =“false”添加到按钮的属性中。
Javascript可能会在您的页面上静默失败,导致处理被放弃,从而阻止点击事件被触发。 如果我怀疑这种情况发生了,我会在调试之前立即将其粘贴到脚本标记下:
window.onerror = function (message, filename, linenumber) {
alert("JS error: " + message + " on line " + linenumber + " for " + filename);
}
删除生产代码。
检查并尝试删除其他输入元素上的“required”属性。 它适用于我的情况..我花了很长时间才发现它。
在这里阅读这个问题..同样的问题asp.net按钮OnClick事件没有解雇
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.