2009-03-28 2 views
0

왜이 코드가 이러한 결과를 생성합니까?Html.RouteLink busted?

CODE :

<%@ Control Language="C#" 
      Inherits="System.Web.Mvc.ViewUserControl<RoomsAlive.ViewModels.ProductCatalogViewModel>" %> 

<div id="product_nav"> 
    <ul> 
    <%--ADD PREV TAB--%> 
    <% if (Model.HasPreviousPage) %> 
    <% { %> 
     <li><%= Html.RouteLink("<<", "CatalogMenu", new { controller = "Catalog", action = "Index", style = (Model.GroupName), position = (Model.PageIndex - 1) })%></li> 
    <% } %> 
    <%--LOOP HERE--%> 
    <% foreach (RoomsAlive.Models.ProductMenuView myFPV in Model.ProductMenu) 
     { %> 
     <li><%= Html.RouteLink(myFPV.Name, "CatalogMenu", new { controller = "Catalog", action = "Index", group = Model.GroupName })%></li> 
    <% } %> 
    <%--ADD NEXT TAB--%> 
    <% if (Model.HasNextPage) %> 
    <% { %> 
     <li><%= Html.RouteLink(">>", "CatalogMenu", new { controller = "Catalog", action = "Index", position = (Model.PageIndex + 1) })%></li> 
    <% } %> 
    </ul> 
</div> 

결과 : BTW

<div id="product_nav"> 
    <ul> 
     <li><a href="">LifeStyle</a></li> 
     <li><a href="">Rooms</a></li> 
    </ul> 
</div> 

:

<div id="product_nav"> 
    <ul> 
     <li></li> 
     <li></li> 
    </ul> 
</div> 
: 내가 대신 <%의 <%의 %> 양식을 사용하는 경우 = %가>는이 생산 형성
+0

경로 구성을 알려주십시오. –

+0

routelink를 사용할 때 countroller/action을 지정할 필요가 없습니다 - 이름이 지정된 경로에서이를 가져옵니다. – UpTheCreek

답변

0

왜 Actionlink의 개체 부분에 컨트롤러와 작업을 지정하고 있습니까?

가 최고의하지 않을까요하면이 방법을 수행하는 :

<%= Html.RouteLink("<<", "Index", "Catalog", new { style = Model.GroupName, position = (Model.PageIndex - 1) }, null)%> 

ActionLink의 두 번째 속성은 항상 원하는 작업 이름, 당신은 CatalogMenu로 설정되어 있지만 다음 다음 만들 "Index"라고하는 객체. 이런 이유 때문에 (내가 'CatalogMenu'가 무엇을 원하는지 전혀 모르기 때문에), 나는 그것을 꺼 냈습니다.

또한 routeValues ​​객체 뒤에 null이 있음을 유의하십시오. Html.ActionLink에 대한 10 생성자,이 하나가 가장 적합하기 때문이다 : 당신이> 대신 <퍼센트 ... %를 사용하는 경우,

ActionLink(LinkText, ActionName, ControllerName, RouteValues, HtmlAttributes) 

또한 <퍼센트 = ... %>, 그것은 것 링크를 출력하지 않습니다. 이것은 ActionLink가 문자열을 반환하기 때문입니다. 태그의 모든 '='는 실제로 Response.Write입니다.

희망 사항.

+2

Html.RouteLink (string linkText, string routeName, object routeValues) - 더 많은 정보를 얻을 수 있습니까? –

+0

Lol. RouteLink. 나는 그것을 보지 못했다! 나는 당신이 ActionLink를 사용하고 있다고 생각했습니다. :) –

+0

질문을 경로로 업데이트 해 주실 수 있습니까? 특히, CatalogMenu? –

관련 문제