2013-03-15 23 views
1

我有一个页面,我可以创建用户,然后可以登录到页面。在我创建用户的页面上,有一个formview。在这个formview中有多个文本框和下拉列表。我如何检查文本框是否为空?我试图做到这一点的代码隐藏,但我不能从那里访问文本框...如何检查如果文本框不是空的formview

这里是我的代码:

<asp:FormView ID="fvBenutzer" runat="server" DefaultMode="Insert" DataKeyNames="BenutzerID" DataSourceID="SqlDataSource1"> 
      <InsertItemTemplate> 
       Gruppe: 
       <asp:TextBox ID="tbGruppe" runat="server" Text='<%# Bind("GruppenID") %>' /><br /> 
       Titel: 
       <asp:TextBox ID="tbTitel" runat="server" Text='<%# Bind("Titel") %>' /><br /> 
       Bezeichnung: 
       <asp:DropDownList AppendDataBoundItems="true" runat="server" ID="ddwnBezeichnung" Text='<%# Bind("Bezeichnung")%>'> 
        <asp:ListItem Text="Mitarbeiter" Value="Mitarbeiter"></asp:ListItem> 
        <asp:ListItem Text="Praktikant" Value="Praktikant"></asp:ListItem> 
        <asp:ListItem Text="Azubi" Value="Azubi"></asp:ListItem> 
        <asp:ListItem Text="Umschüler" Value="Umschüler"></asp:ListItem> 
       </asp:DropDownList><br /> 
       Vorname: 
       <asp:TextBox runat="server" ID="tbVorname" Text='<%# Bind("Vorname")%>' /><br /> 
       Nachname: 
       <asp:TextBox runat="server" ID="tbNachname" Text='<%# Bind("Nachname")%>' /><br /> 
       Geburtsdatum: 
       <asp:TextBox runat="server" ID="tbGeburtsdatum" Text='<%# Bind("Geburtsdatum")%>' /><br /> 
       Geburtsort: 
       <asp:TextBox runat="server" ID="tbGeburtsort" Text='<%# Bind("Geburtsort")%>' /><br /> 
       Nationalität: 
       <asp:TextBox runat="server" ID="tbNationalitaet" Text='<%# Bind("Nationalität")%>' /><br /> 
       Straße: 
       <asp:TextBox runat="server" ID="tbStraße" Text='<%# Bind("Straße")%>' /><br /> 
       Hausnummer: 
       <asp:TextBox runat="server" ID="tbHausnummer" Text='<%# Bind("Hausnummer")%>' /><br /> 
       PLZ: 
       <asp:TextBox runat="server" ID="tbPLZ" Text='<%# Bind("PLZ")%>' /><br /> 
       Ort: 
       <asp:TextBox runat="server" ID="tbOrt" Text='<%# Bind("Ort")%>' /><br /> 
       Land: 
       <asp:DropDownList AppendDataBoundItems="true" runat="server" ID="ddwnLand" Text='<%# Bind("Land")%>'> 

       </asp:DropDownList><br /> 
       Mobil: 
       <asp:TextBox runat="server" ID="tbMobil" Text='<%# Bind("Mobil")%>' /><br /> 
       Fax: 
       <asp:TextBox runat="server" ID="tbFax" Text='<%# Bind("Fax")%>' /><br /> 
       Festnetz: 
       <asp:TextBox runat="server" ID="tbFestnetz" Text='<%# Bind("Festnetz")%>' /><br /> 
       Email: 
       <asp:TextBox runat="server" ID="tbEmail" Text='<%# Bind("Email")%>' /><br /> 
       Homepage: 
       <asp:TextBox runat="server" ID="tbBenutzerart" Text='<%# Bind("Homepage")%>' /><br /> 
       Benutzerart: 
       <asp:DropDownList AppendDataBoundItems="true" runat="server" ID="ddwnBenutzerart" Text='<%# Bind("Benutzerart")%>'> 
        <asp:ListItem Text="Mitarbeiter" Value="Mitarbeiter"></asp:ListItem> 
        <asp:ListItem Text="Geschäftsführung" Value="Geschäftsführung"></asp:ListItem> 
        <asp:ListItem Text="Führungskraft" Value="Führungskraft"></asp:ListItem> 
        <asp:ListItem Text="Administrator" Value="Administrator"></asp:ListItem> 
       </asp:DropDownList><br /> 
       Urlaubstage: 
       <asp:TextBox runat="server" ID="tbUrlaubstageInsgesamt" Text='<%# Bind("UrlaubstageInsgesamt")%>' /><br /> 
       Benutzername: 
       <asp:TextBox runat="server" ID="tbBenutzername" Text='<%# Bind("Username")%>' /><br /> 
       Passwort: 
       <asp:TextBox runat="server" ID="tbPasswort" Text='<%# Bind("UserPassword")%>' /><br /> 
       <br /> 
       <asp:Button ID="btnSpeichern" runat="server" CommandName="Insert" Text="Speichern" /> 
       <asp:Button ID="btnAbbrechen" Text="Abbrechen" runat="server" OnClick="btnAbbrechen_Click" /> 
      </InsertItemTemplate> 
     </asp:FormView> 
     <asp:SqlDataSource OnInserting="SqlDataSource1_Inserting" OnInserted="SqlDataSource1_Inserted" ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
      InsertCommand="INSERT INTO Benutzer (GruppenID, Titel, Bezeichnung, Vorname, Nachname, Geburtsdatum, Geburtsort, Nationalität, Straße, Hausnummer, PLZ, Ort, Land, Mobil, Fax, Festnetz, 
          Email, Homepage, Benutzerart, UrlaubstageInsgesamt , UrlaubstageRest, Username, UserPassword) 
          VALUES (@GruppenID, @Titel, @Bezeichnung, @Vorname, @Nachname, @Geburtsdatum, @Geburtsort, @Nationalität, @Straße, @Hausnummer, @PLZ, @Ort, @Land, @Mobil, @Fax, @Festnetz, 
          @Email, @Homepage, @Benutzerart, @UrlaubstageInsgesamt , @UrlaubstageInsgesamt, @Username, @UserPassword)"></asp:SqlDataSource> 


protected void SqlDataSource1_Inserting(object sender, SqlDataSourceCommandEventArgs e) 
     { 
      //Code to check textboxes goes here... 
     } 
+0

你想验证文本框,并警告用户,如果它是空的?你可以在formview中使用验证控件,并且你可以在插入事件中检查文本框的sqldatasource参数值,以检查文本框是否为空尝试Formview ItemInserting事件 – 2013-03-15 13:30:31

回答

1

你试过:

TextBox tb = (TextBox)fvBenutzer.FindControl("yourtextboxid"); 
string text = tb.Text; 

编辑: 您可以在FormView ItemInserting事件中停止插入。例如:

protected void fvBenutzer_ItemInserting(object sender, FormViewInsertEventArgs e) 
{ 
    if(YourValidationCheck() == false) 
     e.Cancel = true; 
} 

不要忘了将oniteminserting="fvBenutzer_ItemInserting"添加到FormView标记。

+0

谢谢这样做的伎俩... – LeonidasFett 2013-03-15 13:32:08

+0

还有一件事,当文本框中没有任何内容时,我如何中止插入操作?它应该只显示一个错误,值应该仍然在文本框中... – LeonidasFett 2013-03-15 13:36:30

+0

我已经添加到我的回答上面 – 2013-03-15 14:10:50