하루 종일 혼란스러워하고 있습니다. 지역 내 라우팅이 있으며이 모양입니다.지역 및 다른 매개 변수가있는 라우팅, 오해
public class AdminAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "admin";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRouteLowercase(null, "Account/{action}",
new {controller = "Account"},
new {action = @"LogOff|LogOn|Create|Update|Delete|List"},
new[] {"WebUI.Areas.Admin.Controllers"});
context.MapRouteLowercase(//this works
"AdminUpdateCategoryView",
"admin/{controller}/{action}/{cid}",
new {area = "admin", controller = "Main", action = "UpdateCategory", cid = ""},
new {cid = @"\d+"},
new[] {"WebUI.Areas.Admin.Controllers"}
);
context.MapRouteLowercase(//this not works
"AdminCategoryListView",
"admin/Main/{action}/{page}",
new { action = "Category", page = "1" },
new {page = @"\d+"},
new[] {"WebUI.Areas.Admin.Controllers"}
);
context.MapRouteLowercase(
"Admin_Default", // Route name
"admin/{controller}/{action}/{id}", // URL with parameters
new {controller = "Category", action = "Index", id = UrlParameter.Optional} // Parameter defaults
);
}
}
내가 쓴 것을 작동하고 무엇을하지,하지만 그들 사이의 변화, 작품과 작품을 다른 작동하지 않습니다 작동하지 않습니다 하나가?
예 :
여기first case-> /admin/main/updatecategory/1 --> works /admin/main/category/1 --> not works result: /admin/main/category/1?page=1 second case-> /admin/main/category/1 --> works /admin/main/updatecategory/1 --> not works result: /admin/main/updatecategory/1?cid=1
내 컨트롤러 액션입니다 :
public ActionResult Category(int? page)
{
int pageIndex = page.HasValue ? page.Value : 1;
return View("Category", CategoryViewModelFactory(pageIndex));
}
public ActionResult CreateCategory()
{
return View();
}
public ActionResult UpdateCategory(int cid)
{
return View();
}
public ActionResult DeleteCategory(int? cid)
{
return View();
}
무엇이 문제이고 어떻게 그것을 해결하기 위해?
전적으로 혼란 스럽습니다. ASP.MVC3의 라우팅은 전자 논리입니다.
도와주세요!