Краткий конспект по старту с MVC

Дабы не забыть о свежедостигнутом в рамках MVC — законспектирую это здесь.

  1. НИКОГДА не называть параметры функций в контроллере «action» и «controller». Это запутывает маршрутизацию и приводит к ошибке An item with the same key has already been added.
  2. Для использования strongly-typed ActionLink, RenderAction, RenderPartial и прочего зареференсить Microsoft.Web.Mvc. Добавить @using во все вьюшки можно через Web.config и Views\Web.config
  3. Использование strongly-typed (строго типизированных) ссылок и рендерингов:
    @(Html.ActionLink<HomeController>(x=>x.Index(param1), «Текст ссылки»)) и
    @{Html.RenderAction<HomeController>(x=>x.Index(param1));}

    ActionLink обязательно заключать в круглые скобки, RenderAction и RenderPartial — в фигурные, иначе работать не будет

  4. Тестить контроллер — MvcContrib.TestHelper для тестирования редиректов, для тестирования возвращаемой модели кастовать ActionResult в ViewResult и проверять ViewResult.Model;
  5. Использование @helper внутри вьюшки: ссылка; для глобального использования создать папку App_Code и поместить вьюшку с хэлперами туда. воркэраунд для использования Html.ActionLink в App_Code-хэлперах: ссылка