Zum begrenzen von text-string in Eval
Habe ich einen hyperlink mit dem navigieren Eigenschaft Satz wie dieser:
NavigateUrl='<%# Eval("My Text") %>'
Wie kann ich die Grenze der string zu 140 Zeichen ?
Ich habe versucht, diese Eval("Mein Text").ToString().Substring(0,140) aber wenn die Länge des Strings ist weniger als 140 Zeichen, wirft er eine exception.
- Vielleicht schreiben Sie eine Erweiterung Methode?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Und noch eine andere Möglichkeit:
Edit:
Ich tun, wie LINQ, zu:
if (lenght > 140)
Sie verwenden, mehr Arbeitsspeicher und Zeit. 🙂Verwenden (:
Verdammt ich mag LINQ:
Eval
dass erklären, dass die Daten aus einer Datenbank zurück.)Join
muss ein Trennzeichen, und nicht sicher überchar
als Sie einen gültigen Namen für den parameter ein. Und last but not least, die OP scheint zu wollen, verwenden es in einem web-Formular, so dass Sie wahrscheinlich nicht einpacken kann einestring.Join
rund um die eval-Anweisung (wenn auch nicht 100% sicher...). Ich habe ein LINQ-Variante ohnestring.Join
auf meine Antwort.string.Concat
nichtstring.join
, du hast Recht. Behoben! Und last, but not least, können Sie LINQ-und andere Methoden, mit es.Können Sie versuchen, die Truncate-Methode, wie hier gezeigt:
C# - String Abschneiden
Konvertieren Sie es in eine extension-Methode, indem Sie einfach die
this
- Schlüsselwort vor den parameter source an. Es ist eine noch kompliziertere Ansatz, aber kann von Wert in den Fällen, wo Sie brauchen, um es wiederverwenden woanders...In Ihrem Fall hätten Sie:
Komplette Konsolen-test-app:
Ausgabe:
Ähnlich Leniel die Antwort, aber mit einem twist.... Manchmal mag ich anfügen, eine Ellipse zu demonstrieren, die angezeigte Zeichenfolge wurde abgeschnitten.