Asp.net-Mvc

沒有佈局的 Razor 視圖

  • July 7, 2011

怎麼會Layout = null;在我看來 - 它仍然拉入預設佈局?!

有什麼技巧可以阻止它這樣做嗎?

這是我沒有佈局的視圖:

@{
   Layout = "";
}

<!DOCTYPE html>

<html>
<head>
   <title>Index</title>
   @{Html.RenderAction("Head", "Header");}
</head>
<body>
   <div>
       Home
   </div>
</body>
</html>

這是渲染的輸出!!

<!DOCTYPE html>

<html>
<head>
   <title>Index</title>
<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8" />
   <title></title>
   <link href="/Content/Site.css" rel="stylesheet" type="text/css" />
   <script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
   <script src="/Scripts/modernizr-1.7.min.js" type="text/javascript"></script>
</head>

<body>
   header
</body>
</html>
</head>
<body>
   <div>
       Home
   </div>
</body>
</html>

你有_ViewStart.cshtml這個目錄嗎?當我嘗試使用 _ViewStart 時,我遇到了同樣的問題。然後我將其重命名為 _mydefaultview,將其移至Views/Shared目錄,並切換到在我不需要的 cshtml 文件中指定沒有視圖,並為其餘部分指定 _mydefaultview。不知道為什麼這是必要的,但它確實有效。

我認為這 :

@{
   Layout = "";
}

與此不同:

@{
   Layout = null;
}

我使用第二個,它正在工作,不包括 _Viewstart。

引用自:https://stackoverflow.com/questions/6613626