我是一名经验丰富的网络开发人员,他一直在做项目管理而不是开发一年,所以我试图重新开始学习Razor。到目前为止,这是一个令人沮丧的失败。
我在VS2012中创建了一个新的空Razor网站,并创建了以下文件:
_MainLayout.cshtml:
<!DOCTYPE html>
<html>
<head>
<title>Razor Test</title>
</head>
<body>
<div>@RenderBody()</div>
<div>@RenderSection("testSection")</div>
</body>
</html>
ContentPage1.cshtml:
@{
Layout = "_MainLayout.cshtml";
}
<div>This is the content on the Razor Test Page.</div>
和TestSection.cshtml:
@{
Layout = "_MainLayout.cshtml";
}
@section TestSection {
<h1>this is test section</h1>
}
当我尝试运行此页面时,出现以下错误:
未定义的部分:“TestSection”。
想一想发生了什么?这被认为是我可以得到它的荒谬简单。显然,它太简单了。
答案 0 :(得分:1)
Sections应该放在您的页面内,而不是单独的cshtml
ContentPage1.cshtml:
@{
Layout = "_MainLayout.cshtml";
}
@section testSection {
<h1>this is test section</h1>
}
<div>This is the content on the Razor Test Page.</div>
或者,如果您希望单独的cshtml
用于“类似”部分,请使用部分视图。