Какой формат строки с косой чертой в C #? - PullRequest
0 голосов
/ 17 мая 2010

Я использую HtmlHelper, где я даю идентификаторы данных таблицы на основе значений дня и месяца, которые были получены. Проблема в том, что идентификатор не распознается в том формате, в котором он находится. '/', кажется, еще не определен, когда я заменяю '/' на '-', это работает.

daysRow.AppendFormat("<td id='{0}/{1}'>{0}</td>", day, d1.Month.ToString());

Может кто-нибудь сказать мне, как это отформатировать?

Ответы [ 4 ]

13 голосов
/ 17 мая 2010

Проблема не в C #, а в том, что вы используете символ '/' в HTML. Из раздела HTML 4.0 спецификации атрибута id :

Жетоны ID и NAME должны начинаться с буква ([A-Za-z]) и может сопровождаться по любому количеству букв, цифр ([0-9]), дефисы ("-"), подчеркивание ("_"), двоеточия (":") и точки ( "").

Символ '/' нарушает это правило, поэтому при его использовании вы сталкиваетесь с проблемами, но не с символом '-'.

1 голос
/ 17 мая 2010

Вы не можете использовать / для идентификаторов в HTML. Смотри здесь .

0 голосов
/ 17 мая 2010

Я думаю, что вы используете недопустимый символ, конечно, в соответствии с этим ТАК вопрос кажется, что вы не можете использовать косую черту.

0 голосов
/ 17 мая 2010

Использование // iirc

alternativley Я думаю, что если поставить @ перед вашей строкой, она станет буквальной.

например

string s = @"\w\e\r\ty";

или

string s = "d\\d";

вам нужно использовать строковый литерал

'& # 4 7;' без пробелов

вместо косой черты

...