ASP.Net-bedingte Datenbindung

7
%Vor%

Gibt mir eine InvalidOperationException? Wie schreibe ich bedingte HTML-Generierung in ASP?

    
Niels Bosma 17.03.2009, 09:16
quelle

5 Antworten

26

Verwenden Sie eine Inline-Anweisung, wie John_ angibt, oder erstellen Sie in Ihrem Code eine Funktion, die die erforderliche Logik ausführt.

%Vor%

Dann verwenden Sie das wie folgt

%Vor%

BEARBEITEN: Ich habe gerade einen Kommentar zu einem anderen Beitrag gelesen, der besagt, dass Sie abhängig von diesem Ergebnis unterschiedliche HTML-Inhalte anzeigen möchten. In diesem Fall können Sie versuchen, das Visible-Flag eines Platzhalters mit Ihrem Code zu verwenden. Wie:

%Vor%     
Robin Day 17.03.2009, 09:57
quelle
5

Ich bin nicht sicher, ob Sie Klammern für die bedingte Bindung hinzufügen können, die einzige Möglichkeit, die ich kenne, ist eine Inline-Anweisung wie folgt:

%Vor%     
John_ 17.03.2009 09:36
quelle
4

Das Problem mit der Antwort von @Robin Day ist, dass der folgende Code fehlschlägt, wenn Sie datengebundene Kinder haben, die Daten haben oder nicht haben können, vorausgesetzt, Sie haben den aktuellen Status dessen, was Sie rendern. Manchmal ist es schwierig, Daten mit NULL-Werten zu manövrieren, wenn Sie ein komplexes Objektdiagramm haben.

Betrachten Sie zum Beispiel:

%Vor%

Wenn VisibleCondition() false zurückgibt, werden untergeordnete Steuerelemente immer noch mit DataBind() aufgerufen, was zu einem NullReferenceException im obigen Beispiel führen kann.

Hier ist ein besserer Ansatz, IMHO:

%Vor%

Und wie folgt verwendet:

%Vor%     
Brian Chavez 09.07.2011 10:44
quelle
-1

Ich kann in Ihren Sätzen nichts falsch finden, aber Sie haben einen Vergleich zwischen Config.MAX_ENQUIRY_SALES und Convert.ToInt32 (Eval ("NbrOrders")) gemacht. Sind diese Betreiber vom gleichen Typ? Können Sie den Typ jedes einzelnen auf Ihrer Webseite anzeigen?

    
jaloplo 17.03.2009 09:21
quelle
-1

if / else-Blöcke funktionieren in ASP .NET, wie Sie es erwarten. Folgendes funktioniert gut.

%Vor%

Vielleicht wirft die bedingte Logik in Ihrem Beispiel eine Ausnahme?

    
Dustin Campbell 17.03.2009 10:33
quelle

Tags und Links