【发布时间】:2014-01-12 11:07:15
【问题描述】:
看下图:
我现在无法提交图片,请点击code image查看图片。
我在“登录”文件中设置了一个_ViewStart,_Layout和相关文件,这些文件与“共享”文件不同。我想要的是在打开页面“/登录/索引”时显示不同的布局,而其他显示默认布局.它的效果和我的预期一样好。 但是当我使用一个部分在“index.cshtml”中加载一个“js”文件时,网络显示错误“定义了以下部分,但不适用于布局“~/Views/Login/_Layout.cshtml”出现:“HeadJs” 。”
以下代码是登录/布局的一部分:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>@ViewBag.Title</title>
@if (IsSectionDefined("Meta"))
{
RenderSection("Meta", false);
}
<link href="@GlobalVal.__siteResource/Css/Global/Site.css" rel="stylesheet" type="text/css" />
@if (IsSectionDefined("Css"))
{
RenderSection("Css", false);
}
<script type="text/javascript">
var GlobalVal={__siteHome:"@(GlobalVal.__siteHome)",__siteResource:"@(GlobalVal.__siteResource)"};
</script>
<script src="@GlobalVal.__siteResource/js/Lib/jquery-1.5.1.min.js" type="text/javascript"></script>
@if (IsSectionDefined("HeadJs"))
{
RenderSection("HeadJs", false);
}
</head>
以下代码为“/login/index.cshtml”:
@using TJK.Model;
@model MemberUser
@section HeadJs {
<script src="@GlobalVal.__siteResource/Js/Lib/jquery.validate.min.js" type="text/javascript"></script>
<script src="@GlobalVal.__siteResource/Js/Lib/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
}
【问题讨论】:
-
我发现了问题。使用 @RenderSection("HeadJs", false) 而不是 RenderSection("HeadJs", false);
标签: asp.net-mvc-3 layout razor