Ich versuche, die ersten 50 Buchstaben zu erhalten, also habe ich die Funktion subString
benutzt, um sie zu bekommen.
Wie Sie sehen können, habe ich diesen Code verwendet, um es zu bekommen:
%Vor%Aber leider funktioniert es nicht und es erscheint eine Fehlermeldung:
Index und Länge müssen sich auf eine Position innerhalb der Zeichenfolge beziehen.
Gibt es einen anderen Weg, es zu reparieren?
weil der Benutzer derjenige ist, der die Dateneingabe steuert! Manchmal wird er 10 Buchstaben eingeben, manchmal 1000 Buchstaben. Wie kann ich das lösen?
Ich habe sie alle ausprobiert, aber können wir es so benutzen:
<%# IIf(Eval("BannerDescription").ToString().Length > 49, Eval("BannerDescription").ToString().Substring(0, 49), Eval("BannerDescription"))%>
Danke.
Wenn dies Ihr Problem ist und Sie .NET 3.5 verwenden, können Sie versuchen:
%Vor% Sie nennen es genauso wie Substring
, aber es wird nicht nach falschem Index / Länge geworfen. Um ein Beispiel zu geben: <%# Eval("BannerDescription").ToString().SubstringNE(1, 50)%>
. NE
ist für "Keine Ausnahme".
HINWEIS: Diese Antwort bezieht sich auf c #
Damit erhalten Sie nicht mehr als 50 Zeichen:
%Vor%Besser noch, führen Sie eine geschützte Methode in code-behind (.cs) ein, auf die im Markup verwiesen werden kann:
Auszeichnung:
%Vor%Code-Behind:
%Vor%So sieht es sauberer aus. : -)
50 ist mehr als die Länge Ihrer Ergebniszeichenfolge, Ihr Code wird in allen Fällen fehlschlagen, wenn dies der Fall ist. Sie dürfen keinen Parameter angeben, der größer als die Zeichenmenge ist. Arbeiten Sie mit der Eigenschaft String.Length, die Ihnen dynamisch die Anzahl der Zeichen in der Zeichenfolge angibt. Wenn Ihr String also länger als 50 Zeichen (oder gleich 50) ist, können Sie sagen, dass Sie die ersten 50 Zeichen erhalten, ansonsten können Sie nur die ganze Zeichenfolge erhalten, die etwas weniger als 50 Zeichen enthält.
Sie können diesen Code verwenden:
Eval ("BannerDescription"). ToString (). Länge & gt; 49? Eval ("BannerDescription"). ToString (). SubString (0, 49): Eval ("BannerDescription"). ToString ()
Grüße, Peter