ошибка string.format - PullRequest
       1

ошибка string.format

1 голос
/ 12 августа 2010

Я искал в интернете код 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 - это столбец в моей таблице базы данных) приведенный выше код всегда выдает ошибку «Синтаксическая ошибка: отсутствует операнд перед оператором« <»» </p>

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

Ответы [ 4 ]

1 голос
/ 12 августа 2010

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

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

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

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

1 голос
/ 12 августа 2010

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

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>
0 голосов
/ 20 августа 2010

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

alt text

0 голосов
/ 12 августа 2010

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

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

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

...