<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>© @DateTime.Now.Year - My ASP.NET Application</p>
</footer>`
我的问题是@Ajax.ActionLink
当@Html.ActionLink
只出现一次时,页脚会出现两次。
我已修复将“图片”操作的返回更改为return PartialView()
或设置Layout = null;
但我想知道为什么只有Ajax需要这个修复。我的解决方案好吗?
我的猜测可能是css中的一些东西,但不确定要找什么。
答案 0 :(得分:1)
只有在使用AJAX时才需要它,因为AJAX是您将内容插入已渲染视图的唯一情况。第一个视图渲染得到整个布局,然后AJAX调用再次插入布局。
在第一个场景中。只渲染主视图,因此只有一个布局。
答案 1 :(得分:-1)
只需将它包含在主体部分中(这是主要的cshtml):
-body id =&#34; miau&#34; - @ Html.Partial(&#34; PartialView1&#34;,Model.partialModel) - /体 -