无法在mvc中添加一个布局给出错误 - 没有为布局页面“〜/ Views / Shared / MyLayout.cshtml”调用“RenderBody”方法

时间:2016-04-21 07:56:23

标签: asp.net-mvc layout view

我添加了创建并添加了一个布局来查看。渲染视图时给出错误。

  

尚未为布局页面“〜/ Views / Shared / MyLayout.cshtml”调用“RenderBody”方法。

控制器

public ActionResult MyPage()
{
    ViewBag.Message = "My Page.";
    return View();
}

查看

@{
    ViewBag.Title = "MyPage";
    Layout = "~/Views/Shared/MyLayout.cshtml";
}
<h2>MyPage</h2>

布局

@{
    Layout = null;
} 
<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>MyLayout</title>
</head>
<body>
    <div> 
        <h1>Its My Layout Page....</h1>
    </div>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

您的布局应如下所示:

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>MyLayout</title>
</head>
<body>
    <div> 
        <h1>Its My Layout Page....</h1>
    </div>
   <div id="content">
       @RenderBody()
    </div>
</body>
</html>

修改

因此,在您的布局中,您可以设置要使用的 CSS 样式,其他页面可以继承这些样式。 您可以在布局中的任何位置渲染其他页面的正文,就像我使用下面的

一样
<div id="content">
...
</div>