2012-10-01 4 views
3

나는 면도기 마크 업의 다음 블록을했다 : 나는 그렇게 할 때Razor 폼 블록 내에 Razor 섹션을 중첩 할 수 있습니까?

는 는
@section StoreSearch 
{ 
    @Html.Partial("SearchPartial", Model) 
} 
<section id="gallery-index"> 
... 
</section> 
<nav class="pager"> 
    <a href="#" rel="prev" class="pager-nav" title="Previous Page">Prev</a> Page @(Model.PageIndex + 1) of @Model.PageCount <a href="#" rel ="next" class="pager-nav" title="Next Page">Next</a> 
</nav> 
는 내가

@using (Html.BeginForm("Index", "Gallery", FormMethod.Post, new { id = "search-form" })) 
{ 
    @section StoreSearch 
    { 
     @Html.Partial("SearchPartial", Model) 
    } 
    <section id="gallery-index"> 
     ... 
} 

에서와 같이 양식이 모든 블록을 둘러싸 싶습니다

는하지만, 파서는 보크 보인다 @section StoreSearch 부분에서 "Symbol StoreSearch를 해결할 수 없습니다"라고 불평합니다.

허용하려는 대상이 허용되지 않거나 몇 가지 탈출 방법이 누락 되었습니까?

+0

호기심에서'@section {...} '을 (를)'div'로 감쌀 경우 어떻게됩니까? –

+0

@ErikPhilips, 그게 해결 될 것 같습니다! – ProfK

답변

3

면도기 분석 엔진에서 버그를 발견 한 것 같습니다. 대체로 using 절의 첫 번째 @ 기호는 변수로 파싱됩니다. 실제로는 함수이므로 예외가 발생합니다. 당장은 섹션을 div (또는 실제로 html 요소)으로 둘러싼 해결책이 있습니다.

@using (Html.BeginForm("Index", "Gallery", FormMethod.Post, 
         new { id = "search-form" })) 
{ 
    <div> 
    @section StoreSearch 
    { 
     @Html.Partial("SearchPartial", Model) 
    } 
    <section id="gallery-index"> 
    ... 
    </section> 
    </div> 
} 
+0

이것은 MVC 5에서 작동하지 않습니다. 양식이 전혀 렌더링되지 않습니다? 파서에는 오류가 없지만 양식은 결과 HTML에 렌더링되지 않습니다. –

+0

현재 테스트 할 수 없습니다. 그러나, @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@? –