1. Allgemeine Situation
Für diejenigen, die das MVC-Framework verwendet haben, wird die Datenüberprüfung von MVC bekannt sein Wie folgt:
1 public class UserInfo2 {3 [Required(ErrorMessage = "UserName不可为空1111")]4 public string UserName { get; set; }5 public string Sex { get; set; }6 public string Mobile { get; set; }7 public string Address { get; set; }8 }
Frontend:
1 @using (Html.BeginForm()) 2 { 3 @Html.AntiForgeryToken() 4 <div> 5 <h4 id="UserInfo">UserInfo</h4> 6 <hr> 7 @Html.ValidationSummary(true, "", new { @class = "text-danger" }) 8 <div> 9 @Html.LabelFor(model => model.UserName, htmlAttributes: new { @class = "control-label col-md-2" })10 <div>11 @Html.EditorFor(model => model.UserName, new { htmlAttributes = new { @class = "form-control" } })12 @Html.ValidationMessageFor(model => model.UserName, "", new { @class = "text-danger" })13 </div>14 </div>15 <div>16 @Html.LabelFor(model => model.Sex, htmlAttributes: new { @class = "control-label col-md-2" })17 <div>18 @Html.EditorFor(model => model.Sex, new { htmlAttributes = new { @class = "form-control" } })19 @Html.ValidationMessageFor(model => model.Sex, "", new { @class = "text-danger" })20 </div>21 </div>22 <div>23 @Html.LabelFor(model => model.Mobile, htmlAttributes: new { @class = "control-label col-md-2" })24 <div>25 @Html.EditorFor(model => model.Mobile, new { htmlAttributes = new { @class = "form-control" } })26 @Html.ValidationMessageFor(model => model.Mobile, "", new { @class = "text-danger" })27 </div>28 </div>29 <div>30 @Html.LabelFor(model => model.Address, htmlAttributes: new { @class = "control-label col-md-2" })31 <div>32 @Html.EditorFor(model => model.Address, new { htmlAttributes = new { @class = "form-control" } })33 @Html.ValidationMessageFor(model => model.Address, "", new { @class = "text-danger" })34 </div>35 </div>36 <div>37 <div>38 <input>39 </div>40 </div>41 </div>42 }
Wirkung:
Ja, MVC kann Daten überprüfen, indem es bestimmten Attributen bestimmte Merkmale hinzufügt. Das dürfte nicht jedem unbekannt sein.
Wenn das alles ist, dann ist es in Ordnung.
2. Häufige Situationen
In der tatsächlichen Entwicklung verwenden wir meistens EF oder andere Methoden, um sicherzustellen, dass jeder Eintrag in den Datenbanktabellen oder -ansichten übereinstimmt Für das über die Datenbank generierte Modell sollten wir keinen Schritt zurückgehen, auch wenn wir einige Datenüberprüfungsfunktionen in dieser Klasse hinzufügen Wenn ich diese Modelle neu generiere, gehen die zuvor hinzugefügten Überprüfungsfunktionen verloren. Wie lösen wir dieses Problem?
Angenommen:
1 public class UserInfo2 { 3 public string UserName { get; set; }4 public string Sex { get; set; }5 public string Mobile { get; set; }6 public string Address { get; set; }7 }
UserInfo ist ein durch die Datenbank generiertes Modell. Wir sollten das von der Datenbank generierte Modell nicht ändern. Aber das heißt, wir müssen eine Datenüberprüfung für bestimmte Attribute in diesem Modell durchführen. Beispielsweise müssen wir eine Nicht-Null-Überprüfung für das UserName-Attribut durchführen.
Normalerweise denkt jeder an eine Teilklassifizierung. Ja, wir können die oben genannten Probleme durch eine Teilklassifizierung lösen.
Zuerst fügen wir das Schlüsselwort „partial“ zur Klasse im Modell hinzu und schreiben dann eine Teilklasse dieses Modells.
1 public partial class UserInfo2 {3 [Required(ErrorMessage = "UserName不可为空1111")]4 public string UserName { get; set; }5 }
Dies führt jedoch zu einer Fehlermeldung, das heißt, es gibt doppelte Attribute in der Klasse. Ja, in einigen Klassen können Attribute nicht denselben Namen haben. Was sollen wir also tun? Das MVC-Framework hat uns bereits eine Lösung gegeben.
Wir können schreiben:
1 [MetadataType(typeof(MeteUserInfo))]2 public partial class UserInfo3 {4 private class MeteUserInfo5 {6 [Required(ErrorMessage = "UserName不可为空1111")]7 public string UserName { get; set; }8 }9 }
Auf diese Weise wird unser obiges Problem leicht gelöst.
Das obige ist der detaillierte Inhalt vonZusammenfassung der Datenvalidierungsbeispiele in MVC. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

C# und .NET passen sich durch kontinuierliche Aktualisierungen und Optimierungen an die Bedürfnisse neuer Technologien an. 1) C# 9.0 und .NET5 Führen Sie den Datensatztyp und die Leistungsoptimierung ein. 2) .NETCORE verbessert die native und containerische Unterstützung von Cloud. 3) ASP.NetCore integriert sich in moderne Webtechnologien. 4) ML.NET unterstützt maschinelles Lernen und künstliche Intelligenz. 5) Asynchrone Programmierung und Best Practices verbessern die Leistung.

C#.NetissoBableFoREenterPrise-Level Applications-WithemicrosoftCosystemDuetoitsStrongtyPing, Richlibrary, Androbustperformance.

Der Programmierungsprozess von C# in .NET enthält die folgenden Schritte: 1) Schreiben von C# Code, 2) Kompilieren in eine mittlere Sprache (IL) und 3), die durch die .NET -Laufzeit (CLR) ausführt. Die Vorteile von C# in .NET sind die moderne Syntax, das leistungsstarke Typsystem und die enge Integration in das .NET -Framework, das für verschiedene Entwicklungsszenarien geeignet ist, von Desktop -Anwendungen bis hin zu Webdiensten.

C# ist eine moderne, objektorientierte Programmiersprache, die von Microsoft und als Teil des .NET-Frameworks entwickelt wurde. 1.C# unterstützt die objektorientierte Programmierung (OOP), einschließlich Einkapselung, Vererbung und Polymorphismus. 2. Asynchrones Programmieren in C# wird über Async implementiert und wartet auf Schlüsselwörter, um die Reaktionsfähigkeit der Anwendungen zu verbessern. 3.. Verwenden Sie LINQ, um Datensammlungen präzise zu verarbeiten. 4. Häufige Fehler umfassen Null-Referenzausnahmen und Indexausnahmen außerhalb des Bereichs. Zu den Debugging -Fähigkeiten gehört die Verwendung eines Debuggers und Ausnahmeberechnung. 5. Leistungsoptimierung umfasst die Verwendung von StringBuilder und das Vermeiden von unnötigem Packung und Unboxing.

Die Teststrategien für C#.NET-Anwendungen umfassen Unit-Tests, Integrationstests und End-to-End-Tests. 1. Unit -Test stellt sicher, dass die Mindesteinheit des Codes unter Verwendung des Frameworks MStest, Nunit oder Xunit unabhängig funktioniert. 2. Integrierte Tests überprüfen die Funktionen mehrerer Einheiten kombinierter, häufig verwendeten simulierten Daten und externen Diensten. 3. End-to-End-Tests simuliert den vollständigen Betriebsprozess des Benutzers, und Selen wird normalerweise für automatisierte Tests verwendet.

Das Interview mit C# Senior Developer erfordert das Mastering von Kernwissen wie asynchrones Programmieren, LINQ und interne Arbeitsprinzipien von .NET -Frameworks. 1. Asynchrones Programmieren vereinfacht die Operationen durch Async und wartet auf die Verbesserung der Anwendungsreaktionsfähigkeit. 2.LinQ betreibt Daten im SQL -Stil und achtet auf die Leistung. 3. Die CLR des Net -Frameworks verwaltet den Speicher, und die Müllsammlung muss mit Vorsicht verwendet werden.

C#.NET -Interviewfragen und Antworten umfassen Grundkenntnisse, Kernkonzepte und erweiterte Nutzung. 1) Grundkenntnisse: C# ist eine von Microsoft entwickelte objektorientierte Sprache und wird hauptsächlich im .NET-Framework verwendet. 2) Kernkonzepte: Delegation und Ereignisse ermöglichen dynamische Bindungsmethoden, und LINQ bietet leistungsstarke Abfragefunktionen. 3) Erweiterte Verwendung: Asynchrone Programmierung verbessert die Reaktionsfähigkeit und Expressionsbäume werden für die dynamische Codekonstruktion verwendet.

C#.NET ist eine beliebte Wahl für den Aufbau von Microservices aufgrund seines starken Ökosystems und seiner umfangreichen Unterstützung. 1) Erstellen Sie Rastfulapi mit ASP.NetCore, um die Erstellung und Abfrage der Reihenfolge zu verarbeiten. 2) Verwenden Sie GRPC, um eine effiziente Kommunikation zwischen Microservices zu erreichen, und implementieren Sie Auftragsdienste. 3) Vereinfachen Sie die Bereitstellung und Verwaltung durch Microservices mit Docker Container.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft