1

私は経験豊富なWeb開発者であり、開発ではなくプロジェクト管理を1年間行っているので、それに戻ってRazorを学ぼうとしています。これまでのところ、それは悲惨な失敗でした。

VS2012で新しい空のRazorWebサイトを作成し、次のファイルを作成しました。

_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」。

そして、何が起こっているのか考えますか?これは私がそれを得ることができるのと同じくらいばかげて単純であるはずでした。どうやらそれは単純すぎます。

4

1 に答える 1

1

セクションは、個別の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または、「セクションのような」表示を分離したい場合は、代わりに部分ビューを使用してください。

于 2013-03-01T15:00:25.607 に答える