我有一个母版页。在母版页中,我有一个用于页脚的UserControl。在页脚中,我有一个不会触发OnClick的按钮。在调试过程中,我看到OnClick调用的函数btnSignup_Click没有受到影响。我似乎无法弄清楚我的代码中的错误在哪里。
另外我想说明验证功能是否正常工作。单击按钮时,OnClick不会触发UserControl
master.master
<%@ Master Language="C#" AutoEventWireup="true" Inherits="master" Codebehind="master.master.cs" %>
<%@ Register TagPrefix="xyz" TagName="Footer" Src="~/controls/footer.ascx" %>
<xyz:Footer ID="Footer" runat="server" />
footer.ascx
<%@ Control Language="C#" AutoEventWireup="true" Inherits="footer" Codebehind="footer.ascx.cs" %>
<div>
<asp:TextBox ID="fName" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidatorfName" ValidationGroup="validationSignup" Display="Static" ControlToValidate="fName" ErrorMessage="First Name required" runat="server"></asp:RequiredFieldValidator>
</div>
<div class="button">
<asp:Button ID="btnSignup" CommandName="Button" runat="server" ValidationGroup="validationSignup" Text="Signup" HeaderText="Please fill in all required fields before continuing." OnClick="btnSignup_Click"/>
</div>
<div class="validationSummary">
<asp:ValidationSummary ID="ValidationSummary" ValidationGroup="validationSignup" runat="server"></asp:ValidationSummary>
</div>
footer.ascx.cs
public partial class templates_site_footer : BaseUserControl
{
protected void Page_Load(object sender, EventArgs e)
{
btnSignup.Click += new EventHandler(btnSignup_Click);
}
protected void btnSignup_Click(object sender, EventArgs e)
{
if (!Page.IsValid)
return;
// code to execute after button is clicked
}
}
做你检查代码是否被击中条件在方法或不(是它击中'如果(Page.IsValid)'!) –
这是不如果在调试过程中击中(!Page.IsValid)。验证的作用是,如果该字段为空,按钮将不会提交。 – user2127521
尝试公共无效btnSignup_Click(对象发件人,EventArgs e) – Aizen