我想向我的网站添加分页,所以我安装了“ PagedList.Mvc” 然后我对模型进行了一些更改,例如将类型从IEnumerable更改为IPagedList:
public IPagedList <Product> Products.
但我认为更改模型属性与布局消失的问题无关。
在控制器部分,我只添加了一些属性以通过ViewModel发送到“索引”页面,这与主要问题无关。
我还向“索引”页面添加了一些<p> and <div>
元素,因为它对所有页面通用,所以我认为它与布局问题无关。
我没有触摸_layout.cshtml页面:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title - My ASP.NET Application</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
</head>
<body>.
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-
toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
@Html.ActionLink("Application name", "Index", "Home", new { area
= "" }, new { @class = "navbar-brand" })
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>@Html.ActionLink("Home", "Index", "Home")</li>
<li>@Html.ActionLink("Shop by Category", "Index",
"Categories")</li>
<li>@Html.ActionLink("View All Our Products", "Index",
"Products")</li>
</ul>
@using (Html.BeginForm("Index", "Products", FormMethod.Get, new
@class = "navbar-form navbar-left"}))
{
<div class="form-group">
@Html.TextBox("Search",null,new {@class="form-
control",@placeholder="Search Products"})
</div>
<button type="submit" class="btn btn-default">Submit</button>
}
@Html.Partial("_LoginPartial")
</div>
</div>
</div>
<div class="container body-content">
@RenderBody()
<hr />
<footer>
<p>© @DateTime.Now.Year - My ASP.NET Application</p>
</footer>
</div>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
_ViewStart.cshtml
中也提到了布局@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
但是最后可能是索引页看起来像这样的原因,它被从菜单,链接,搜索框中剥离了...
我确定“ _layout页面”和“视图”之间的链接已断开,但是我不知道@RenderBody(已经存在)旁边的哪些因素。
顺便说一句。在控制器中,我删除了所有viewbag,并且正在使用ViewModel,这可能是原因吗?