【发布时间】:2016-12-17 11:53:11
【问题描述】:
大家好,我正在使用 asp mvc4 构建网站,我在视图中遇到了问题 首先,我的 _Layout 视图为标题调用了一个 partialView,而我的部分视图正在从模型中获取数据以填充标题中的一些数据, 它只是在主(索引)视图中工作,但移动到另一个视图只是调用部分视图而不从数据库中获取数据。 希望我解释得很好:D
_layout 视图
@model MvcApplication1.Models.SchoolInfo
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>@Html.DisplayFor(model => model.SiteName)</title>
<!-- Bootstrap Core CSS -->
<link href="~/Content/Template/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom CSS -->
<link href="~/Content/Template/css/business-casual.css" rel="stylesheet">
<!-- Fonts -->
<link href="http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet" type="text/css">
<link href="http://fonts.googleapis.com/css?family=Josefin+Slab:100,300,400,600,700,100italic,300italic,400italic,600italic,700italic" rel="stylesheet" type="text/css">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<body>
<header>
<section id="login">
@Html.Partial("_LoginPartial")
@if (Request.IsAuthenticated)
{
@Html.Partial("_SiteHeaderPartial")
}
</section>
</header>
@RenderBody()
@if (Request.IsAuthenticated){
<footer>
<div class="container">
<div class="row">
<div class="col-lg-12 text-center">
<p>Copyright © Your Website footer</p>
</div>
</div>
</div>
</footer>
}
<!-- jQuery -->
<script src="~/Scripts/Template/js/jquery.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="~/Scripts/Template/js/bootstrap.min.js"></script>
<!-- Script to Activate the Carousel -->
<script>
$('.carousel').carousel({
interval: 5000 //changes the speed
})
</script>
_SiteHeaderPartial
@model MvcApplication1.Models.SchoolInfo
<div class="brand">@Html.DisplayFor(model => model.SchoolName)</div>
<div class="address-bar">Country | Address : @Html.DisplayFor(model => model.SchoolAddress) | 011 @Html.DisplayFor(model => model.SchoolPhone)
Index 和 About 视图相同(空)。
【问题讨论】:
-
调试你的代码并检查你的数据库是否被第二次命中。
-
它只在一个视图中获取数据索引视图,转到另一个视图调用所有内容但数据不显示,返回索引视图将获取数据
-
粘贴页面索引和其他页面的截图
-
@Html.Partial()不调用服务器方法来获取数据。为此,您需要@Html.Action()。但是布局永远不应该包含模型的声明,除非它是使用该布局的所有其他视图派生的基本模型形式 -
您还需要删除
<title>@Html.DisplayFor(model => model.SiteName)</title>以及您在布局文件中引用@Model的任何其他位置
标签: asp.net-mvc-4 asp.net-mvc-partialview