将RequiredFieldValidator放入DataList时遇到问题,我们非常感谢您提供一些帮助。
问题描述:
当我将<asp:RequiredFieldValidator>
放入<ItemTemplate>
并运行页面时,我会收到以下错误页面:
当我把它放在它之外时,页面没有错误,但显然它无法识别巫婆<asp:TextBox>
在回发之前没有内容。我想知道数据列表中的特定文本框是否没有输入文本。
这是标记:( Image src属性尚未实现)
<asp:DataList ID="imageUploadRoster" runat="server"
DataSourceID="ImageUploadRosterDataSource" RepeatDirection="Horizontal" RepeatColumns="5" HorizontalAlign="Left">
<HeaderTemplate>
<h3>Set Image Names</h3>
</HeaderTemplate>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Height="180px" Width="180px" />
<ItemTemplate>
<div class="imageSetNameDiv">
<asp:HiddenField ID="ImageId" runat="server" Value='<%# Eval("ImageId") %>' />
<asp:HiddenField ID="ImageMimeTypeLabel" runat="server" Value='<%# Eval("ImageMimeType") %>' />
<asp:Image ID="ImageThumbnailLabel" runat="server" Src='<%# Eval("ImageThumbnail") %>' Width="120px" Height="120px" />
<br />
<asp:RequiredFieldValidator ID="imageNameRequired" runat="server"
ControlToValidate="ImageName" ErrorMessage="RequiredFieldValidator"
ValidationGroup="imageUploadValid">
</asp:RequiredFieldValidator>
<asp:TextBox ID="ImageName" runat="server" Text='<%# Eval("ImageName") %>' />
<br />
<hr />
<asp:Button ID="removeImage" runat="server" Text="Remove" CommandName="delete" CommandArgument='<%# Eval("ImageId") %>' />
</div>
</ItemTemplate>
</asp:DataList>
提前感谢您的任何帮助。 彼得
答案 0 :(得分:1)
当ASP.NET遇到页面上具有相同ID的两个控件时,会发生此错误。我想由于某种原因,在你的情况下,每个项目的验证器获得相同的ID。设置以下属性:
ClientIDMode="Predictable"
验证者应该修复它。此模式可确保数据绑定上下文中的控件获得正确的ID。