Frage

Normalerweise, wenn ich ein Object zu einem Gridview bin Verknüpfung und ich habe eine Template, die eine Eval darin hat, und es ist Null, kann ich gerade ein „.ToString ()“ es funktioniert gut. Aus irgendeinem Grund funktioniert dies nicht das gleiche, wenn Sie Linq to SQL verwenden.

Ich war ursprünglich XSD-Dateien für meine DAL mit einem benutzerdefinierten BLL verwenden. Ich band es an das Gridview mit einem Object. Ich bin in der Mitte des Auslagern die XSD-Dateien mit Linq to SQL und alles funktioniert genauso wie die alte Art und Weise mit Ausnahme der Spalten, die Nullwerte haben können.

Hat jemand in diesem Lauf vor und wenn ja, wie ich, um dieses Problem zu tun arbeiten?

War es hilfreich?

Lösung

Die meisten alles, was LINQ zurückgibt, ist von Nullable Typen . Also in Ihrem Bindungsausdrücke müssen Sie GetValueOrDefault (). ToString () oder den neuen verwenden „??“ null Koaleszierstruktur Operator anstatt einfach nur alter ToString (). Ich hoffe das hilft. Sehen Sie sich diese link geführt.

Beispiel:

// this will output the int if not null otherwise an empty string.
<%# (int?)Eval("MyIntegerField") ?? "" %> 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top