public class CompanyController : Controller {
public ActionResult Profile() {
return View("Profile/Specific");
}
}
Кастомная url в MVC 3
Routname: Default
URL with paramateres: "{controller}/{action}/{id}"
Controller: "Company"
Action: "Profile"
id: UrlParameter.Optional
На Index.cshtml у меня есть линка "Profile", при нажатии на которую вызывается action "Profile" в контроллере "Company". Но этот action должен открывать мне не это
Company/Profile.cshtml
А вот это:
Company/Profile/Specific.cshtml
То есть, во-первых, перенаправить на другой view. А, во-вторых, сопоставить это с физической структурой каталога. То есть так, как у меня физически существуют формы в папках: в данном случае, на диске есть папка ~View/Company/Profile, в которой хранится несколько форм. Первая часть вопроса в приципе понятна: RedirectAction и бла-бла-бла. Но основное, что меня интересует, это как правильно зарегистрировать маршрут в global.asax, чтобы сервер понимал, что надо искать не в папке Company,а в папке Profile?
Код:
На самом деле, контроллеры и представления разделяются не папочками, а пространствами имён.
как бы всё ещё актуально.... хэлп, чтоли !!!
и до сих пор актуально...
Ваше решение сработало, Der Meister, спасибо!
Хочу только уточнить на будущее: как поступать более грамотно в этом случае впредь?
Вот например у меня есть контроллер CompanyController, и он знает, что его представления находятся в папочке с названием ~/Views/Company.
Но в папочке Company, например, мы создаём папочку Profile и добавляем контроллер ProfileController. Как в таком случае MVC дать понять, что представления данного контроллера находятся во ~Views/Company/Profile ?
Код:
routes.MapRoute(
null,
"company/profile/{action}/{id}",
new { controller = "CompanyProfile", action = "Index", id = UrlParameter.Optional }
);
null,
"company/profile/{action}/{id}",
new { controller = "CompanyProfile", action = "Index", id = UrlParameter.Optional }
);
Погоди, Der Meister, но ведь лабают же сайты на мвс 3 , у которых большая вложенность. Как же они добиваются такого результата? Статически дописывают пути для представлений? переписывают двигло?