Ich habe eine ASPX-Seite, die eine Spalte mit Kontrollkästchen innerhalb einer Tabelle erstellt, die die ID verwendet, um sie als solche zu benennen
%Vor%Später im C # Teil des Codes versuche ich, den Wert des Kontrollkästchens mit dem folgenden Code abzurufen
%Vor%Idealerweise möchte ich die beiden Strings entfernen und den Wert in einer gemeinsamen Konstanten halten. Gibt es eine Möglichkeit dazu?
Tut mir leid, nein, es gibt keine Möglichkeit, genau das zu tun, was Sie wollen. Sie werden immer noch mit zwei Vorkommen der Zeichenfolge enden:
%Vor%und
%Vor%später
%Vor%Beachten Sie, dass das Problem weniger Konstanten sind als die ASP.NET-Markussyntax. Sie könnten so etwas tun:
%Vor%aber das scheint ein wenig albern.
Ok, das funktioniert überhaupt nicht, und hier ist warum:
In der Deklaration der CheckBox ist testCheck
nicht nur eine Zeichenkette. Wenn es eine Zeichenfolge wäre, dann würde die Syntax <%# %>
für die Datenbindung funktionieren. Die Eigenschaft würde während des Ereignisses DataBinding
auf diesen Zeichenfolgenwert gesetzt.
Die Eigenschaft ID
ist jedoch nicht nur eine Zeichenfolgeneigenschaft. Sie wird vom Designer und Seitenparser zum Erstellen eines Feldes mit diesem Namen verwendet. Daher muss es auf einen konstanten Wert eingestellt werden.
Die Analogie wäre folgender Code:
%Vor%Sie können keinen Zeichenfolgenausdruck verwenden, um den Namen eines Klassenmembers zu erstellen.
Wenn ich es richtig verstanden habe, wird eine static string
Variable den Job machen ..