Кодируют ли помощники MVC значения атрибутов? - PullRequest
0 голосов
/ 28 ноября 2009

т.е.

 new{@class="Model.Class"}

Ответы [ 2 ]

3 голосов
/ 28 ноября 2009

Да, они кодируют значения. Это:

new{ @class = "a&b\"c" }

отобразит атрибут как class="a&b"c".

Однако в вашем примере я не вижу ничего, что требовало бы кодирования. Возможно, вы имеете в виду «оценить», и в этом случае ответ - нет. Чтобы поместить значение свойства Class из Model в объект, просто удалите кавычки, чтобы выражение было кодом, а не строкой:

new{ @class = Model.Class }
1 голос
/ 28 ноября 2009

Да. Вот почему я должен был написать свой собственный.

Может быть проблематично, например, в этой ситуации:

<input type="submit" value="Unicode characters go here." />

Чтобы избавиться от этого поведения, нужно поиграть с методом TagBuilder.ToString или, может быть, с RouteValueCollection, чтобы возможно переопределить их поведение. Однако я бы сказал, что проще написать свой собственный помощник, используя основные операции конкатенации строк. В любом случае результатом является простой вывод текста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...