0

我有一个带有UserControl. 添加UserControl到页面后,所有按钮(包括母版页中的按钮)都将停止工作。如果我删除UserControl按钮重新开始工作。不工作,我的意思是如果你点击它们,什么都没有发生,没有回发。一些按钮仍然有效,例如GridView对列进行排序的标题标签。这些会导致回发,但仅此而已。

中唯一的元素UserControl是 afieldset包含 html label,包含 aRequiredFieldValidator和 a TextBox

这个解决方案在这里!isPostBack提到通过对 进行检查来解决类似的问题Page_Load,但是包括什么?我的UserControl Page_Load活动目前是空的。

更新

用户控制.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="StaffEditFields.ascx.cs"
    Inherits="StaffEditFields" %>
<fieldset>
    <label>
        Username
        <asp:RequiredFieldValidator ID="rfdUser" runat="server" Display="Static"
            ControlToValidate="txtUser" />
            <br />
        <asp:TextBox ID="txtUser" runat="server" CssClass="fvBox" Text='<%# Bind("Username") %>' />
    </label>
</fieldset>

更新 2

删除fieldset并没有任何改变,但是当我删除该页面时,RequiredFieldValidator该页面开始正常运行。现在我需要问如何保持RequiredFieldValidator和允许UserControl正常运行?

4

1 回答 1

0

我想到了。问题是RequiredFieldValidator没有设置为验证任何特定按钮,因此它将尝试验证页面上的任何按钮单击。我也未能将任何按钮设置为CausesValidation="true".

然后解决方案是为 设置一个验证组,并在to和RequiredFieldValidator的内部或外部设置一个按钮。UserControlCausesValidation="true"ValidationGroup=[group]

于 2013-07-08T18:47:18.387 回答