ASP.NET MVC3에서 영역을 구성하는 방법을 알고있는 사람이 누구입니까? 지역에 관한 기사를 here에 실었습니다. 그러나이 기사는 MVC3을 기반으로하지 않습니다. MVC3에서 내가 MVC3를 사용하여 새로운 영역을 만들 때 Global.asax에ASP.NET MVC3에서 영역을 구성하는 방법
routes.MapRootArea("{controller}/{action}/{id}",
"AreasDemo",
new { controller = "Home", action = "Index", id = "" });
에서 발견된다 RouteCollection routes
에 MapRootArea
를라는 이름의 기능이 없다, 나는 AreaRegistration
에서 상속하고 다음과 같이 그 지역의 클래스를 가지고 :
public class BlogsAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Blogs";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Blogs_default",
"Blogs/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}
사람이 내가 MVC3에서 영역을 구성 어떻게 좀 도와 주시겠습니까 (여기 블로그는 지역 이름입니다). 어떤 종류의 링크도 도움이 될 것입니다.
답변을 주셔서 감사합니다. 지역이 제대로 등록되어 있는지 어떻게 알 수 있습니까? 내 공유 된 _layout에서이 링크를 사용했지만 어디에서나 Html.ActionLink ("Blog", "About", "Home", new {area = "Blog"})를 사용하지 않습니다. – Imrul
@Imrul, 당신의 코드는'Blog'가 아니라'Blogs'라고 불리는 코드이므로'@ Html.ActionLink ("Blog", "About", "Home", 새로운 {area = "Blogs"})'를 시도하십시오. 또한이 영역 내에'HomeController'가 있는지 확인하십시오. –
죄송합니다. 맞춤법 오류입니다. 내가 내 _layout에 렌더링하면 Area/Controller/Action "@ Html.ActionLink ("Blog ","Index ","BlogHome ", new {area =" 블로그 "})". ActionLink 도우미에서 잘못된 것이 있습니까? 이제 루트와 영역에서 동일한 컨트롤러 이름을 사용할 수 없음을 알게되었습니다. 이를 위해 Home을 BlogHome으로 개명해야했습니다. FYI Blog은 생성 된 html이며 http : // localhost : 4135/Blogs/BlogHome/Index를 사용하여 BlogHome 컨트롤러를 조회하고 페이지를 표시합니다. – Imrul