Вопрос

Я искал в интернете со строкой. Format для моего кода, и кажется, что я не могу найти правильный, который выглядит в моем коде.

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);

(ImageFileName - это столбец в моей таблице базы данных) Приведенный выше код всегда бросает ошибку «Syntax Error: отсутствует операнд перед '<' Оператор»

Как мне это сделать правильно?

Это было полезно?

Решение 4

Спасибо, что помогали мне. Я смог выяснить способ сделать это. Спасибо за все сообщения.

alt text

Другие советы

Возможно, попробуйте следующее?

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

В вашем коде вы используете 'вокруг идентификатора строки формата, который бы затем показал в вашей форматированной строке, а ImageFilename Собственность не использовалась правильно. Это было бы просто добавлено как простой текст.

Результат вашей строки со следующими значениями будет такой:

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>

Это совсем не ясно от вопроса, но я считаю, что проблема не время компиляции один вообще ... не действительно один с string.Format. Отказ Это проблема с DataColumn.Expression. Отказ Вы даете выражение, которое включает угловые скобки, поэтому мы думают, что вы пытаетесь выполнить сравнения.

Я не могу сказать, что знаю много о DataColumn.Expression, но вы должны посмотреть, как это цитирует строки ... А как это цитирует цитаты внутри строк! Например, это мощь работай:

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

Тем не менее, я думаю, что это может сделать вашу жизнь много Проще, если вы не пытались вычислить HTML в выражении, чтобы начать с. Можете ли вы действительно не применить обработку в дальнейшем?

Попробуй это:

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

Я уверен, что <и> пытаются интерпретировать как часть выражения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top