2016-06-16 47 views
0

將RequiredFieldValidator放入DataList中存在問題,並且將不勝感激。將RequiredFieldValidator放置在一個asp中:DataList

問題描述:

當我把在<ItemTemplate><asp:RequiredFieldValidator>和運行頁面,我得到以下錯誤頁:

enter image description here

當我把它在它之外,頁面的作品沒有錯誤,但顯然它不能識別女巫<asp:TextBox>它沒有內容,它被回發之前。我想在哪裏能夠判斷數據列表中的特定文本框是否沒有輸入文本。

下面是標記:(圖像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> 

預先感謝您的任何援助。 Peter

回答

1

當ASP.NET在頁面上遇到兩個具有相同ID的控件時,會發生此錯誤。我想出於某種原因,你的情況驗證器爲每個項目獲得相同的ID。設置以下屬性:

ClientIDMode="Predictable" 

驗證器應該修復它。該模式確保數據綁定上下文中的控件獲得正確的ID。

相關問題