Gibt mir eine InvalidOperationException? Wie schreibe ich bedingte HTML-Generierung in ASP?
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%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%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?