1

내가이 URL에 대한 MvcSiteMapProvider 노드를 추가 할 :MvcSiteMapProvider 노드에 url 매개 변수를 추가하는 방법은 무엇입니까? ?

.../AdminsArea/주문 유형 =

(20) 내가 mvc.sitemap이 줄을 추가를하지만, 어떤 이동 경로를 표시하지 않습니다.

어떻게해야합니까? 덕분에 .

컨트롤러 :

공용 클래스 OrdersController가 : 컨트롤러 당신은 URL /AdminsArea/Orders?type=20 일치하는 노드 구성이없는

{ public ActionResult Index(short type) 
    { 
     ///some codes... 
     return View(myOrder); 
    } 
} 
+0

주 UR 컨트롤러가 PLZ .. –

+0

@KartikeyaKhosla 내가 지금 내 컨트롤러를 추가했습니다. – mortazavi

+0

유형이 null 값을 얻고 있습니까 ??? –

답변

2

.

기본 경로 ("id"를 선택 사항으로 정의 함)를 사용하는 경우 각 노드에서 "id"값을 정의했기 때문에 일치하지 않습니다. 그러나 URL에 " 신분증". 현재 구성에서 제목이 "OrderStuff"인 노드에 액세스하려면 URL /AdminsArea/Orders/Index/10/?type=20으로 이동해야합니다.

달성하려는 대상을 추측하기 어렵지만 각 "유형"매개 변수에 대해 노드를 1 개 만들고 가능한 값이 10과 20 인 경우 대신이 구성을 사용해야합니다.

<mvcSiteMapNode title="Orders" area="AdminsArea" controller="Home" action="Index"> 
    <mvcSiteMapNode title="OrderStuff" area="AdminsArea" controller="Orders" action="Index" type="10" /> 
    <mvcSiteMapNode title="OrderGroup" area="AdminsArea" controller="Orders" action="Index" type="20" /> 
</mvcSiteMapNode> 

그런 다음 제목 "OrderGroup"로 노드를 일치하는 URL /AdminsArea/Orders?type=20로 이동.

노드 구성을 일치시키는 것은 수동 프로세스입니다. 일치하는 동작이 어떻게 작동하는지 이해하려면 How to Make MvcSiteMapProvider Remember a User's Position을 읽고이 기사와 함께 제공되는 다운로드 가능한 데모를 확인하십시오.

또한 지역 등록을 검토하여 correct conventions을 준수하는지 확인해야합니다.

업데이트 귀하의 의견을 바탕으로

,이 구성이라고 말할 것입니다 당신은 후 수 있습니다 : "유형"에 대한 값을 만들 것입니다

<mvcSiteMapNode title="Orders" area="AdminsArea" controller="Home" action="Index"> 
    <mvcSiteMapNode title="OrderStuff" area="AdminsArea" controller="Orders" action="Index" preservedRouteParameters="type" /> 
</mvcSiteMapNode> 

가 (동일한 작업 방법과 일치 따라서 "형식"). 즉, 다음 URL은 모두 "OrderStuff"라는 노드와 일치합니다. 그러나

/AdminsArea/Orders?type=10

  • /AdminsArea/Orders?type=20/AdminsArea/Orders
    • , MvcSiteMapProvider 만 들어오는 URL은 "유형"매개 변수가있는 "유형"매개 변수를 사용하여 URL을 생성합니다. 일반적으로 이러한 URL은 MvcSiteMapProvider 외부 소스 (예 :보기 콘텐츠의 ActionLink 또는 외부 웹 사이트 또는 이메일의 링크)에서 생성해야합니다.

      문제는 노드 구성에는 "id"를 지정하지만 URL에는 지정하지 않는 것입니다.

  • +0

    도움을 주셔서 감사합니다 ...하지만 다른 제목을 유형 10 또는 유형 20으로 표시하려고합니다. – mortazavi

    2

    덕분에 모든 helping.i 코드 아래에 사이트 맵 위의 코드를 변경 내 문제를 해결 한 :

    > <mvcSiteMapNode title="Orders" area="AdminsArea" controller="Home" 
    > action="Index"> 
    >  <mvcSiteMapNode title="OrderStuff" url="/AdminsArea/Orders?type=10" /> 
    >  <mvcSiteMapNode title="OrderGroup" url="/AdminsArea/Orders?type=20"/> 
    > 
    > </mvcSiteMapNode>