2016-06-13 23 views
0

Ich habe eine asp.net Listview und ich habe einen RequiredFieldValidator für Bearbeitungsvorgänge in EditItemTemplate hinzufügen.asp.net - Listbox - InsertItemTemplate RequiredFieldValidator

Wenn ich auf "Bearbeiten" button und versuche, die Daten mit einem leeren CustomerNameTextBox zu speichern, dann bekomme ich Fehler "Bitte geben Sie Ihren Namen!"
Das ist OK

<%@ Page Language="C#" UnobtrusiveValidationMode="None" AutoEventWireup="true" CodeBehind="frmMain.aspx.cs" Inherits="DB_mit_GridView.frmMain" %> 

<EditItemTemplate> 
    <tr style=""> 
     <td> 
      <asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="Update" /> 
      <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" /> 
     </td> 
     <td> 
      <asp:Label ID="CustomerIDLabel1" runat="server" Text='<%# Eval("CustomerID") %>' /> 
     </td> 
     <td> 
      <asp:TextBox ID="CustomerNameTextBox" runat="server" Text='<%# Bind("CustomerName") %>' /> 
      <%-- CustomerNameTextBox must not be empty when editing an existing record 
      <asp:RequiredFieldValidator runat="server" id="reqName" controltovalidate="CustomerNameTextBox" errormessage="Please enter your name!" /> 
     </td> 

Aber ich will für leere CustomerNameTextBox überprüfen, wenn nicht nur einen vorhandenen Datensatz Bearbeitung, sondern auch, wenn ich einen neuen Datensatz einfügen. So
ich hinzufügen RequiredFieldValidator für Insert-Operationen in InsertItemTemplate:

<InsertItemTemplate> 
    <tr style=""> 
     <td> 
      <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="Insert" /> 
      <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Clear" /> 
     </td> 
     <td> 
      <asp:TextBox ID="CustomerIDTextBox" runat="server" Text='<%# Bind("CustomerID") %>' /> 
     </td> 
     <td> 
      <asp:TextBox ID="CustomerNameTextBox" runat="server" Text='<%# Bind("CustomerName") %>' /> 
      <%-- CustomerNameTextBox must not be empty when insertig a new record 
      <asp:RequiredFieldValidator runat="server" id="reqName2" controltovalidate="CustomerNameTextBox" errormessage="Please enter your name!" /> 
     </td      

Aber sobald ich RequiredFieldValidator zu InsertItemTemplate hinzufügen erhalte ich die Meldung „Bitte geben Sie Ihren Namen!“ unmittelbar nach dem Start der nächsten Seite.
Ich habe nicht auf die Schaltfläche "Einfügen" geklickt - die Nachricht erscheint nur ohne einen Klick.

Wie kann ich sicherstellen, dass bestimmte Textfelder beim Editieren oder Einfügen nicht leer sind? (Ich habe keinen Code hinter)

Antwort

Verwandte Themen