为什么我的页脚会出现两次

时间:2014-12-10 20:50:07

标签: css ajax asp.net-mvc razor

<div class="navbar-collapse collapse">
  <ul class="nav navbar-nav">
    <li>@Html.ActionLink("Home", "Index", "Home")</li>
    <li>
      @Ajax.ActionLink("Imagenes List", "Images", "Home", new { page = 0 }, new AjaxOptions()
      {
        HttpMethod = "GET", // HttpMethod to use, GET or POST
        UpdateTargetId = "divImage", // ID of the HTML element to update
        InsertionMode = InsertionMode.Replace // Replace the existing contents
      })
    </li>
  </ul>
</div>

我的_Layout中有两个链接,@Html.ActionLink@Ajax.ActionLink

ajax的div容器

<div id="divImage" class="container body-content">
  @RenderBody()
  <hr />
</div>

还有一个页脚。

<footer class="container body-content">
  <p>&copy; @DateTime.Now.Year - My ASP.NET Application</p>
</footer>`

我的问题是@Ajax.ActionLink@Html.ActionLink只出现一次时,页脚会出现两次。

我已修复将“图片”操作的返回更改为return PartialView()或设置Layout = null;

但我想知道为什么只有Ajax需要这个修复。我的解决方案好吗?

我的猜测可能是css中的一些东西,但不确定要找什么。

2 个答案:

答案 0 :(得分:1)

只有在使用AJAX时才需要它,因为AJAX是您将内容插入已渲染视图的唯一情况。第一个视图渲染得到整个布局,然后AJAX调用再次插入布局。

在第一个场景中。只渲染主视图,因此只有一个布局。

答案 1 :(得分:-1)

只需将它包含在主体部分中(这是主要的cshtml):

-body id =&#34; miau&#34; -         @ Html.Partial(&#34; PartialView1&#34;,Model.partialModel) - /体 -