ошибка string.format

Я искал Интернет с string.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: Missing operand before ' <'"

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

1
задан Benjol 12 August 2010 в 06:33
поделиться

4 ответа

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

alt text

0
ответ дан 2 September 2019 в 22:15
поделиться

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

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>
1
ответ дан 2 September 2019 в 22:15
поделиться

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

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

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

Однако я думаю, что он, вероятно, упростит вашу жизнь на лот , если вы не попытаетесь вычислить HTML в выражении, чтобы начать с участием. Вы действительно можете не применять обработку позже?

1
ответ дан 2 September 2019 в 22:15
поделиться

Попробуйте следующее:

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

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

0
ответ дан 2 September 2019 в 22:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: