【发布时间】:2015-09-23 07:26:42
【问题描述】:
只要我在导航栏中选择一个选项卡,导航栏就会在正文元素中复制。
我的导航栏位于部分页面中。
这是我的主要 MVC 5 布局页面:
<body>
@{Html.RenderPartial("_NavBar");}
<div class="container" id="MainBody">
@RenderBody()
</div>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", false)
</body>
这是我包含导航栏的部分页面:
<div class="navbar navbar-inverse">
<div class="container">
<div class="navbar-header" id="nav">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">EDR-Web</a>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav">
<li class="active">@Ajax.ActionLink("Login", "Index", "Login", new AjaxOptions { HttpMethod = "get", UpdateTargetId = "MainBody", InsertionMode = InsertionMode.Replace })</li>
<li>@Ajax.ActionLink("Contact Us", "Index", "Contact", new AjaxOptions { HttpMethod = "get", UpdateTargetId = "MainBody", InsertionMode = InsertionMode.Replace })</li>
<li>@Ajax.ActionLink("Terms Of Use", "Index", "Terms", new AjaxOptions { HttpMethod = "get", UpdateTargetId = "MainBody", InsertionMode = InsertionMode.Replace })</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="#"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
<li><a href="#"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
</ul>
</div>
</div>
</div>
值得一提的是,我使用@Ajax.ActionLink 只更新主布局页面上的 ID=MainBody。
为什么会这样?任何帮助将不胜感激。
我现在知道为什么会这样了。由于我试图加载到 ID="MainBody" 的页面内容依赖于主布局页面,因此导航栏也将返回是有道理的。有什么办法可以避免这种情况吗?
将视图更改为不依赖于主布局页面,因为我只想调用每个视图的主体(html),然后将其放在 ID="MainBody"
【问题讨论】:
-
能否贴出复制内容时输出的原始html?
-
我想您应该决定使用控制器来呈现您的页面以返回
PartialView
标签: html asp.net asp.net-mvc visual-studio razor