Как использовать общий синтаксис внутри файла Razor view?


Я пытался использовать следующее утверждение:

@Html.Test<ISQL>().Nand()

однако Razor задыхается от

любая официальная работа вокруг него?

5 66

5 ответов:

чтобы использовать общие методы, вам нужно избежать выражения

@(Html.Test<ISQL>().Nand())

Я просто нашел этот вопрос, когда искал эту "ту же ошибку" при обновлении mvc.

Я :

не работает:

@{ 
   ViewBag.Title = "Something " + @Model.Title;
   var something = (IEnumerable<SelectListItem>)ViewBag.Options;    
}

Он отлично работает, если нет внутри кода, но просто удаление @ из модели.Название исправить проблему.

работает:

@{ 
   ViewBag.Title = "Something " + Model.Title;
   var something = (IEnumerable<SelectListItem>)ViewBag.Options;    
}

надеюсь, это поможет кому-нибудь

Я понимаю, что этот "ответ" несколько запоздал, и вопрос, очевидно, был удовлетворительно (и хорошо) ответил. Однако для любых будущих посетителей этой страницы, если вы ищете более полное справочное руководство, есть MS введение в синтаксис Razor а также Фил Хаак очень полезно бритва быстрая ссылка сообщение в блоге.

у меня был странный случай, когда у меня было несколько заданий внутри одного @{ ... } боку.

@{
    // ... other assignments (without error)
    List<string> stringList = new List<string>()  // ERROR MESSAGE HERE
}

что бы я ни делал, всегда были ошибки, такие как:

использование универсального типа "список" требует одного типа аргументов

решение: Я поставил строку назначения в второй@{ ... }бокуа.

@{
    // ... other assignments
}
@{
    List<string> stringList = new List<string>()  // WORKS
}

речь идет о символе@, этот пример работает до обновления

@{
    string @class = ViewBag.@class;
    IDictionary<string, object> htmlAttributes = new Dictionary<string, object>();
}

после обновления он должен быть разделен на два блока

@{  string @class = ViewBag.@class; }
@{  IDictionary<string, object> attrs = new Dictionary<string, object>(); }