我在一个页面上有一个RequiredFieldValidator问题,其中两个面板表示两个不同的视图,即一次只能看到一个面板,但它们共享同一个提交按钮。ASP.NET验证器不会触发
默认情况下,“BatchReturnPanel”是可见的,“SingleReturnPanel”是隐藏的,在这种情况下页面上工作的所有验证就好了。但是,如果我隐藏“批处理”面板并显示“单..”面板(ChangeViewButton单击事件),那么requieredFieldValidator“DropDownListFieldValidator”不会启动,并且页面始终被视为验证。为什么会发生这种情况,如何解决这个问题?感谢您的帮助/
下面是从ASPX页面提取:
<div>
<asp:DropDownList ID="MDDropDownList" runat="server"></asp:DropDownList>
<asp:RequiredFieldValidator id="DropDownListFieldValidator" runat="server" ControlToValidate="MDDropDownList"
InitialValue="-" ErrorMessage="Please select Master Distributor" EnableClientScript="true" CssClass="error"
Display="Static" ValidationGroup="Voucher" />
<asp:Panel runat="server" ID="BatchReturnPanel">
<p>
<asp:TextBox ID="FirstVoucherTextBox" runat="server" CssClass="Scanner RRS"></asp:TextBox>
<asp:RequiredFieldValidator ID="FirstVoucherFieldValidator" runat="server" ControlToValidate="FirstVoucherTextBox" ValidationGroup="Voucher"
ErrorMessage="Valid Voucher ID for the first voucher in batch is required<br>" Display="Dynamic" CssClass="error" EnableClientScript="false"></asp:RequiredFieldValidator>
</p>
</asp:Panel>
<asp:Panel runat="server" ID="SingleReturnPanel" Visible="false">
<p>
<asp:TextBox ID="SingleVoucherTextBox1" runat="server"></asp:TextBox><br />
<asp:TextBox ID="SingleVoucherTextBox2" runat="server"></asp:TextBox><br />
<asp:TextBox ID="SingleVoucherTextBox3" runat="server"></asp:TextBox><br />
</p>
</asp:Panel>
<asp:Button ID="VoucherSubmitButton" runat="server" Text="Enter"
OnClick="VoucherSubmitButton_Click" UseSubmitBehavior="false" ValidationGroup="Voucher"/>
</div>
<asp:Panel CssClass="grid_4 box" runat="server" ID="ChangeViewPanel">
<asp:LinkButton runat="server" ID="ChangeViewButton"
onclick="ChangeViewButton_Click">Single item return mode</asp:LinkButton>
</asp:Panel>
为什么你有这个?'UseSubmitBehavior = “假”' – Bastardo
尝试设置'FirstVoucherFieldValidator'的'ValidationGroup'东西比'Voucher'不同,当你点击'ChangeViewButton'如果'BatchReturnPanel'可见,则将其设置为'Voucher'。 – Bastardo
您在哪种方法中填充'MDDropDownList'?你也可以展示这个吗? –