我无法解决这个问题。按钮正在工作,但现在点击时它们什么都不做。
这是按钮:
<asp:Button ID="btnEnviar" Text="Send" runat="server" OnClick="RegisterUser" />
在代码背后:
protected void RegisterUser(object sender, EventArgs e)
{
...
}
..但点击后,RegisterUser()
未被调用(断点测试)。
我已经尝试创建另一个按钮,双击它然后将代码粘贴到它上,也什么都不做。
我已尝试添加到PageLoad
:
protected void Page_Load(object sender, EventArgs e)
{
btnEnviar.Click += new EventHandler(RegisterUser);
}
也没有效果。
编辑 :(参见编辑2)这是整个页面(抱歉代码,只是一个快速的设计,所以我可以在SQL层上工作,按钮工作正常,当我不久之前,现在我回来改变设计并意识到它停止工作了。)
<%@ Page Title="" Language="C#" MasterPageFile="~/MP.Master" AutoEventWireup="true" CodeBehind="registar.aspx.cs" Inherits="operacao.registar" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div style="margin: auto">
<table style="border: 0px; width: 60%">
<tr>
<th colspan="3" style="background-color: #3A5896;color:white;">Operação</th>
</tr>
<tr>
<td></td>
<td>
<asp:TextBox ID="txtRegistarFName" runat="server" placeholder="Primeiro nome" CssClass="txtbox"></asp:TextBox> <asp:TextBox ID="txtRegistarLName" runat="server" placeholder="Último nome (opcional)" CssClass="txtbox"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ErrorMessage="obrigatório" ForeColor="Red" ControlToValidate="txtRegistarFName"
runat="server" Display="Dynamic" />
</td>
</tr>
<tr>
<td></td>
<td>
<asp:TextBox ID="txtRegistarPassword" runat="server" TextMode="Password" placeholder="Nova password" CssClass="txtbox" AutoCompleteType="Disabled"/></td>
<td>
<asp:RequiredFieldValidator ErrorMessage="obrigatório" ForeColor="Red" ControlToValidate="txtRegistarPassword"
runat="server" Display="Dynamic" />
</td>
</tr>
<tr>
<td></td>
<td>
<asp:TextBox ID="txtRegistarConfirmPassword" runat="server" TextMode="Password" placeholder="Repetir password" CssClass="txtbox" AutoCompleteType="Disabled" /></td>
<td>
<asp:CompareValidator ErrorMessage="passwords diferentes" ForeColor="Red" ControlToCompare="txtRegistarPassword"
ControlToValidate="txtRegistarConfirmPassword" runat="server" Display="Dynamic" />
</td>
</tr>
<tr>
<td></td>
<td>
<asp:TextBox ID="txtRegistarEmail" runat="server" placeholder="e-m@il" CssClass="txtbox" /></td>
<td>
<asp:RequiredFieldValidator ErrorMessage="obrigatório" Display="Dynamic" ForeColor="Red"
ControlToValidate="txtRegistarEmail" runat="server" />
<asp:RegularExpressionValidator runat="server" Display="Dynamic" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
ControlToValidate="txtregistarEmail" ForeColor="Red" ErrorMessage="e-mail inválido" />
</td>
</tr>
<tr>
<td></td>
<td>
<asp:Button ID="btnEnviar" Text="Enviar" runat="server" OnClick="RegisterUser" />
<asp:Button ID="btnNovoRegisto" runat="server" Text="Registar" OnClick="btnNovoRegisto_Click" />
</td>
<td></td>
</tr>
</table>
</div>
编辑2 :我能够找出造成这种情况的原因。我同时使用UpdatePanel创建了一个聊天。我有一个divChatContainer,我以编程方式添加内容(更多div与聊天文本和文本框和结尾处的按钮),然后添加到UpdatePanel,它被添加到位于MasterPage文件中的以下容器中。一旦我删除这个div,按钮再次工作。 UpdatePanel内的按钮始终有效。
<div id="divChatContainer" runat="server" style="overflow-y: scroll; word-wrap: break-word; width: 19%; max-height: 35%; position: fixed; right: 0px; bottom: 0%;">CHAT</div><br />
答案 0 :(得分:0)
asp.net中的按钮由JavaScript触发。只需检查您的浏览器设置并确保启用了JavaScript。 如果之前它正在运作,可能就是这种情况。