Frage

Ich habe die Suche im Internet mit dem string.format für meinen Code und es scheint, dass ich nicht das Recht ein, das aussieht wie auf meinem Code finden kann.

DataColumn dtCol;
dtCol = new DataColumn("ImagePath", System.Type.GetType("System.String"));
dtImages.Columns.Add(dtCol);
dtImages.Columns["ImagePath"].Expression = string.Format("<a href=\"'{0}'+ImageFilename\">View Image</a>", ImageDownloadPath);

(die imagefilename ist eine Spalte in meiner Datenbank-Tabelle) Der obige Code wirft immer einen Fehler von "Syntaxfehler: Fehlender Operand vor '<' Operator"

Wie mache ich das richtig?

War es hilfreich?

Lösung 4

Danke, dass ich helfen. Ich konnte die Art und Weise, um herauszufinden, es zu tun. Vielen Dank für alle Beiträge.

alt text

Andere Tipps

Vielleicht folgende versuchen?

string.Format("<a href=\"{0}\\{1}\">View Image</a>", ImageDownloadPath, ImageFilename);

In Ihrem Code Sie ' die um die String-Format Kennung verwenden, die dann in der formatierten String gezeigt haben würden, und die ImageFilename Eigenschaft wurde nicht richtig verwendet wird. Es wäre einfach im Klartext hinzugefügt wurde.

Das Ergebnis Ihrer Zeichenfolge mit den folgenden Werten als solche wäre:

ImageFilename = "1.jpg";
ImageDownloadPath = "http://www.downloadme.com/images";

Yours: <a href="'http://www.downloadme.com/images'+ImageFilename">View Image</a>
Mine: <a href="http://www.downloadme.com/images/1.jpg">View Image</a>

Es ist gar nicht von der Frage klar, aber ich glaube, das Problem ist nicht eine Übersetzungszeit man überhaupt ... nicht in der Tat eines mit string.Format. Es ist ein Problem mit DataColumn.Expression. Sie einen Ausdruck zu geben, die spitzen Klammern enthält, so dass es Sie versuchen, Vergleiche denkt auszuführen.

Ich kann nicht sagen, ich weiß viel über DataColumn.Expression, aber Sie sollten in schauen, wie es Strings zitiert ... und wie es Zitate Zitate innerhalb von Strings! Zum Beispiel dieser Macht Arbeit:

dtCol.Expression = string.Format
    ("'<a href=\"{0}'+ImageFilename+'\">View Image</a>'", 
     ImageDownloadPath);

Aber ich denke, es ist wahrscheinlich, dass Ihr Leben eines Los einfacher zu machen, wenn Sie nicht die HTML im Ausdruck zu berechnen versuchen, mit zu beginnen. Können Sie wirklich die Verarbeitung nicht für jede spätere?

Versuchen Sie diese:

dtImages.Columns["ImagePath"].Expression = 
string.Format("&lt;a href=\"'{0}'+ImageFilename\"&gt;View Image&lt;/a&gt;", ImageDownloadPath); 

Im ziemlich sicher, dass die versuchen, als Teil des Ausdrucks interpretiert werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top