문제

나는 생각하고의 학습 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 종류의 설정,그것은 확실히지 않는 정도 당신이 무엇을 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top