2012-12-19 69 views
8

在我的ASP.NET MVC3項目,我必須通過Visual Studio 2010和關閉我的<body>標記後生成的標準_Layout.cshtml,我把一個RenderSectionRenderSection不是局部視圖內工作在ASP.NET MVC3

_Layout.cshtml :

</body> 
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script> 
@RenderSection("ScriptContent", required: false) 
</html> 

然後在我的Index.cshtml查看我:

@model MyApp.ViewModels.MyViewModel 
@{ Html.RenderPartial("MyPartial", Model); } 

如果我放在@section ScriptContent在Index.cshtml中顯示正確。如果我把它放在我的局部視圖MyPartial.cshtml

@model MyApp.ViewModels.MyViewModel 

@section ScriptContent { 
    <script src="@Url.Content("~/Scripts/Filters.js")" type="text/javascript"></script>  
} 

在我的網頁源代碼,我有:

</body> 
    <script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>  
</html> 

意義不執行@section。可能是什麼原因?謝謝

+0

[如何在MVC3的部分視圖中渲染剖面?](http://stackoverflow.com/questions/13764936/how-to-render-a-section-in-a-partial-view -in-mvc3) – KyleMit

回答

10

無法在局部視圖中設置佈局中的@section。作爲一種解決方法,您可以調用一個呈現必要的<script>和HTML的動作 - 雖然這不是很優雅。

+1

thansk!因此,除了您提出的解決方案之外,唯一可行的解​​決方案是在View中移動@section – CiccioMiami