Синтаксис Razor внутри атрибутов элементов html (ASP MVC 3)
У меня есть таблица с повторяющимися рядами клиентов, я хотел бы добавить идентификатор клиента в атрибут ID моих строк таблицы следующим образом:
<tr id="row<customer id>"></tr>
Я пытаюсь добавить этот код:
@foreach(var c in Model) {
<tr id="[email protected]"></tr>
}
Что дает мне следующий результат:
<tr id="[email protected]"></tr>
<tr id="[email protected]"></tr>
и др.
Но я бы хотел:
<tr id="row1"></tr>
<tr id="row2"></tr>
и др.
Я также попытался добавить <tr>[email protected]{c.id}</tr>
, но это не сработало.
Ответы
Ответ 1
Вы пробовали <tr>[email protected](c.id)</tr>
?
Фактическая причина, по которой это не работает, заключается в том, что ваш [email protected]
соответствует регулярному выражению для адреса электронной почты. Таким образом, парсер принимает это электронное письмо, а не попытку вызвать код. Причина [email protected]{c.id}
не работает, потому что @{}
не выводит и должен содержать блоки кода.
Если вы сомневаетесь, вы должны использовать @()
, поскольку он будет заставлять то, что содержится между ()
, обрабатываться как код.