2011-08-01 3 views
0

모든 연습 및 예제를 읽었으므로 찾을 수없는 내용을 찾을 수 없습니다. 내 _Layout에서.NET MVC 사용자 지정 도우미가 레이아웃에서 제대로 렌더링되지 않습니다.

내 도우미 ...

namespace MVCShop.Helpers 
{ 
    public class RenderNav 
    { 
     public static MvcHtmlString GetCategoryNav(string store) 
     { 
      MVCShopEntities db = new MVCShopEntities(); 

      IEnumerable<Category> categories = db.Categories.Where(c => c.Store.Name == store); 
      StringBuilder sb = new StringBuilder(); 

      foreach (Category cat in categories) 
      { 
       sb.AppendFormat("<ul id='menu'><li>{0}</li></ul>", cat.Name); 
      } 

      return new MvcHtmlString(sb.ToString()); 
     } 
    } 
} 

, 나는

<nav> 
      @{ RenderNav.GetCategoryNav(ViewContext.RouteData.Values["storeName"].ToString()); } 
    </nav> 

가 나는 코드를 강화했습니다 ...이 줄을 추가했습니다. 함수에 의해 문자열이 제대로 생성되고 반환됩니다. 모든 것이 빌드되며 런타임 오류가 없습니다. 메뉴 html은 단순히 페이지에 표시되지 않습니다. 나는 혼란 스럽다.

답변

1

당신은 값을 쓰면 이 아니며, 으로 전화하면이됩니다.
값이 생성 된 후 이 정상적으로으로 무시되었습니다.

은 (코드 블록에 사용되지 출력 콘텐츠를 할 수 있습니다) 괄호와 세미콜론 제거

<nav> 
    @RenderNav.GetCategoryNav(ViewContext.RouteData.Values["storeName"].ToString()) 
</nav> 

이 말해 줄 것이다 면도기 출력 방법 결과 및 탐색을 표시합니다.

+0

아 물론. 그렇게 해줘서 고마워! – atfergs

+0

그래, 내가 실제로 면도기를 배우기 시작한 지 30 분이 지났어. 모두가 조만간 안타깝다. –

관련 문제