1

私は Asp.Net MVC の学習を開始しましたが、問題は、名前付きの新しいビューを追加するとIndex.cshtml、自動的に Html が取得されることLayout Pageです。ここで何が起こっているのかわかりません。

Index.cshtml :-

@{
   ViewBag.Title = "Index";
 }

 <h2>Index</h2>

レイアウトページ :-

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
</head>
<body>
<p>This is a Layout Page....</p>
@RenderBody()

@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)
</body>
</html>
4

3 に答える 3

6

含めるだけLayout = nullで、問題は次のように解決されます:-

Index.cshtml :-

@{
   ViewBag.Title = "Index";
   Layout = null;
 }

 <h2>Index</h2>

問題は'Layout'、値を明示的に指定しないと、_ViewStart.cshtmlレイアウトにファイルを使用するプロパティの使用によるものです。ビューで指定Layout=nullすると、ファイルで指定されたレイアウトが無視され_ViewStart.cshtmlます。

編集 :-

_ViewStart.cshtml詳細とその仕組みについて知りたい場合は、次のリンクにアクセスしてください:-

_ViewStart.cshtml レイアウト ファイルはどこにどのようにリンクされていますか?

また

http://www.dotnetcurry.com/showarticle.aspx?ID=605

于 2014-08-21T04:55:14.887 に答える