Этот вопрос появляется, когда я работал с частичным представлением (MVC3 / Razor), но я уверен - это ясный вопрос о синтаксисе Razor, не связанный напрямую с частичным представлением.Итак - у меня есть частичное представление Menu.cshtml с полной разметкой как:
@model IEnumerable<SportsStore.WebUI.Models.NavLink>
@foreach(var link in Model)
{
@Html.RouteLink(link.Text, link.RouteValues);
}
Нет проблем - родительский вид называет его @ {Html.RenderAction ("Menu", "Nav");} и всеработать как волшебство.Но, если я отредактирую Menu.cshtml как:
@model IEnumerable<SportsStore.WebUI.Models.NavLink>
@foreach(var link in Model)
{
Html.RouteLink(link.Text, link.RouteValues);
}
(см. - НЕТ '@' до Html.RouteLink!), Все просто сломалось: now @ {Html.RenderAction ("Menu", "Nav ");} вывод полностью пустой, без одного HTML-тега.
Хотите знать - в чем разница между двумя фрагментами кода?Я предполагаю, что @ до foreach также автоматически «заходит» и также применяется к Html.RouteLink ?Итак - я не прав?