생성할 수 있습니 ASP.NET MVC 경로에서 사이트맵?
-
08-06-2019 - |
문제
나는 생각하고의 학습 ASP.NET MVC
framework 에 대한 곧 나오는 프로젝트입니다.사용할 수 있는 고급 라우팅을 만드는 긴 Url 을 기반으로 사이트맵 계층?
예를 탐색 경로:
홈>숍>제품>가구>주방>조리기구>Cooksets>Nonstick
일(I think)MVC URL:
http://example.com/products/category/NonstickCooksets
원하는 URL:
http://example.com/shop/products/household/kitchen/cookware/cooksets/nonstick
한 절차를 밟으면 되나요?
해결책
잭,내가 이해하는 경우 오른쪽 당신이 원하는 무제한 깊이의 하위 범주에 있습니다.더 중요한 것이고,이후 MVC 미리보기 3(제 생각에는 3 개 또는 4)이 해결되었습니다.
그냥 같이 경로 정의
"{컨트롤러}/{action}/{*categoryPath}"
한 같은 url 을:
http://example.com/shop/products/household/kitchen/cookware/cooksets/nonstick
당신이 있어야 ShopController 로 제품이 작업:
public class ShopController : Controller
{
...
public ActionResult Products(string categoryPath)
{
// the categoryPath value would be
// "household/kitchen/cookware/cooksets/nonstick". Process it (for ex. split it)
// and then decide what you do..
return View();
}
다른 팁
MVC 라우팅 정의할 수 있습니다 꽤 많은 어떤 구조로 당신이 원한다면,당신은 단지 정의할 필요가 무엇을 각각의 조각을 의미한 의미.할 수 있는 비트에"하드 코딩","와 같은 가게/제품",그리고 정의하는 나머지 부분으로 변수,"{카테고리}/{하위 범주}/{전문}",등등.
을 정의할 수도 있습니다 여러 가지 경로는 모든 지도를 동일한 끝 지점을 좋아하는 경우.기본적으로,때 URL 로 MVC 응용 프로그램,그것을 통해 라우팅 테이블까지 발견한 패턴과 일치하는 채우기에 이 변수 및 통과 요청을 적절 컨트롤러를 처리합니다.
기본 경로는 간단한 컨트롤러,액션,Id 종류의 설정,그것은 확실히지 않는 정도 당신이 무엇을 할 수 있습니다.