MVC3,Razor,关于不同布局的问题

时间:2011-08-22 07:08:10

标签: asp.net-mvc-3 layout razor

查看以下图片:

我现在无法提交图片,请点击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>
}

1 个答案:

答案 0 :(得分:1)

您需要将您的部分一直定义到顶部母版页。

基本上做RenderSection(“Myname”,false);