Ich möchte den mittleren Namen der Person optional machen. Ich habe C # .net Code zuerst Ansatz verwendet. Für ganzzahligen Datentyp ist es einfach, indem Sie "?" Operator in Nullable machen. Ich bin auf der Suche nach einer Möglichkeit, meinen Stachel variabel nullbar zu machen. Ich habe versucht zu suchen, konnte aber nicht den Weg finden, es NULL-fähig zu machen.
Unten ist mein Code. Bitte schlage mir vor, wie man es NULL machen kann.
%Vor%Es ist nicht möglich Referenztypen Nullable zu machen. In einer Nullable-Struktur können nur Werttypen verwendet werden. Wenn Sie ein Fragezeichen an einen Werttyp-Namen anhängen, wird es als Nullwert angezeigt. Diese beiden Zeilen sind gleich:
%Vor%Ich möchte den mittleren Namen der Person optional machen. Ich habe C # .net Code zuerst Ansatz verwendet. Für ganzzahligen Datentyp ist es einfach, indem Sie "?" Operator in Nullable machen. Ich bin auf der Suche nach einer Möglichkeit, meinen Stachel variabel nullbar zu machen. Ich habe versucht zu suchen, konnte aber nicht den Weg finden, es NULL-fähig zu machen.
Unten ist mein Code. Bitte schlage mir vor, wie man es NULL machen kann.
%Vor% public string CMName { get; set; }
type ist ein Referenztyp und daher standardmäßig nullfähig. Sie können %code% nur mit Werttypen verwenden.
Was bedeutet, dass der Typ, der für den generischen Parameter ersetzt wird, ein Werttyp sein muss.
Sie müssen nichts tun, die Modelbinding wird Null auf Variable ohne Probleme übergeben.
String ist ein Referenztyp und immer Nullwert, Sie müssen nichts Besonderes tun. Das Angeben, dass ein Typ nullwertfähig ist, ist nur für Werttypen erforderlich.
Wie bereits erwähnt, ist string in C # immer nullbar. Ich vermute, dass Sie die Frage stellen, weil Sie den zweiten Vornamen nicht als null oder leer zurücklassen können. Ich vermute, das Problem liegt in Ihren Validierungsattributen, höchstwahrscheinlich in der RegEx. Ich bin nicht in der Lage, RegEx vollständig in meinem Kopf zu analysieren, aber ich denke , dass dein RegEx darauf besteht, dass der erste Charakter vorhanden ist. Ich könnte falsch liegen - RegEx ist schwer. Versuchen Sie auf jeden Fall, Ihre Validierungsattribute zu kommentieren und zu prüfen, ob sie funktioniert, und fügen Sie sie einzeln nacheinander hinzu.
System.String ist ein Referenztyp, so dass Sie nichts tun müssen wie
%Vor%Es hat bereits einen Nullwert (die Nullreferenz):
%Vor%System.String ist ein Referenztyp, so dass Sie nichts tun müssen wie
%Vor%Es hat bereits einen Nullwert (die Nullreferenz):
%Vor%Wie bereits erwähnt, ist string in C # immer nullbar. Ich vermute, dass Sie die Frage stellen, weil Sie den zweiten Vornamen nicht als null oder leer zurücklassen können. Ich vermute, das Problem liegt in Ihren Validierungsattributen, höchstwahrscheinlich in der RegEx. Ich bin nicht in der Lage, RegEx vollständig in meinem Kopf zu analysieren, aber ich denke , dass dein RegEx darauf besteht, dass der erste Charakter vorhanden ist. Ich könnte falsch liegen - RegEx ist schwer. Versuchen Sie auf jeden Fall, Ihre Validierungsattribute zu kommentieren und zu prüfen, ob sie funktioniert, und fügen Sie sie einzeln nacheinander hinzu.
Sie müssen nichts tun, die Modelbinding wird Null auf Variable ohne Probleme übergeben.
Tags und Links asp.net-mvc c# model-view-controller data-annotations