C# 中继器内更新面板中的验证
我正在中继器中使用更新面板。我需要更新面板包含验证。验证已经到位,但每个面板都会被触发。我需要它只适用于正在访问的面板C# 中继器内更新面板中的验证,c#,asp.net,validation,updatepanel,repeater,C#,Asp.net,Validation,Updatepanel,Repeater,我正在中继器中使用更新面板。我需要更新面板包含验证。验证已经到位,但每个面板都会被触发。我需要它只适用于正在访问的面板 <asp:Repeater ID="rptComments" runat="server" OnItemDataBound="rptComments_OnItemDataBound" OnItemCommand="rptComments_OnItemCommand"> <HeaderTemplate>
<asp:Repeater ID="rptComments"
runat="server"
OnItemDataBound="rptComments_OnItemDataBound"
OnItemCommand="rptComments_OnItemCommand">
<HeaderTemplate>
<ul class="comments">
</HeaderTemplate>
<ItemTemplate>
<li>
<asp:UpdatePanel ID="updatePanelReply" runat="server" UpdateMode="Conditional" >
<ContentTemplate>
<asp:PlaceHolder ID="plcForm" runat="server">
<div class="errors">
<asp:ValidationSummary ID="nestedCommentsValidation" ValidationGroup="nestedSubmit" runat="server" cssClass="validation" ForeColor="Red" />
</div>
<label>Name<sup>*</sup></label>
<asp:TextBox ID="tbReplyName" runat="server" cssClass="styledInput"></asp:TextBox><br />
<asp:RequiredFieldValidator ID="rfv_tbReplyName"
runat="server"
Display="None"
ControlToValidate="tbReplyName"
InitialValue=""
ErrorMessage="Please enter your name."
ValidationGroup="nestedSubmit">
</asp:RequiredFieldValidator>
<asp:Button ID="btnButton" runat="server" Text="Button" CssClass="submit-button" CommandName="SubmitReply" ValidationGroup="nestedSubmit" />
</asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
-
姓名*
您是否在不同的面板中使用不同的验证组?验证组的全部要点是,验证程序只验证同一组中的控件 我最终取出了验证组,并在OnItemCommand事件中处理它。也许有一种更巧妙的方法,但这对我很有效
if (String.IsNullOrEmpty(tbReplyName.Text.ToString().Trim()))
strValidationMessage = "<li>Please enter your name.</li>";
Literal ltrErrorMessage = (Literal)e.Item.FindControl("ltrErrorMessage");
ltrErrorMessage.Text = strValidationMessage;
if(String.IsNullOrEmpty(tbReplyName.Text.ToString().Trim())
strValidationMessage=“请输入您的姓名。 ”;
Literal ltrErrorMessage=(Literal)e.Item.FindControl(“ltrErrorMessage”);
ltrErrorMessage.Text=strValidationMessage;
我没有在repeater中绑定的ItemDataBound上设置任何内容来区分验证组。您在发布的代码中看到的是关于验证的所有信息。我应该指出,在更新面板上提交的表单工作正常。这实际上只是验证,我无法区分面板。正如上面的用户所提到的,您应该将validation组设置为在rptComments\u OnItemDataBound事件中区分值,以使验证正常工作。我理解这一点。但是我正在寻找语法方面的帮助。每次通过中继器时,您应该能够将验证组设置为动态值。尝试类似ValidationGroup=“nestedSubmit”+从中继器数据源输入id字段这样的操作。ValidationGroup只是一个字符串,因此您应该能够连接