3

我有以下 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对这部分犹豫不决,并抱怨“无法解析符号 StoreSearch”。

是我试图不允许的,还是我只是错过了某种转义方法?

4

1 回答 1

3

看起来您在 Razor 解析引擎中发现了一个错误。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>
}
于 2012-10-01T18:44:07.933 回答