2011-05-24 50 views
0

我想知道如何在Razor视图的局部视图中输入@section。这是可能的,或者我必须把它放在一个视图中?asp.net MVC razorview rendersection

谢谢。

+0

我不明白为什么你不能 - 视觉工作室似乎让它发生,但你打算如何强制它渲染?你想要做嵌套partials或什么? – Fourth 2011-05-24 03:44:47

+0

我想将某些脚本或css放在不同的partialview中,但我确定partialview中的区块不起作用。 – 2011-05-24 04:08:23

+0

@section CSS {0} {0} {0}} >> won 2011-05-24 04:13:47

回答

0

为什么不尝试创建一个包含所有javascript和css的局部视图,并只在布局中渲染该局部视图?我不认为你需要部分来完成。指向各个部分的内容是告诉他们完整的视图,他们可以为他们设置特定的部分,部分视图不会强制他们看起来像任何东西。

<!DOCTYPE html> 
<html> 
<head> 
    <title>@ViewBag.Title</title> 
    @Html.Partial("_HeaderLinksAndScripts") 
</head> 
<body> 
    <div class="page"> 
     <div id="header"> 
      <div id="title"> 
       <h1>My MVC Application</h1> 
      </div> 
      <div id="logindisplay"> 
       @Html.Partial("_LogOnPartial") 
      </div> 
      <div id="menucontainer"> 
       @Html.Partial("_MenuPartial") 
      </div> 
     </div> 
     <div id="main"> 
      @RenderBody() 
     </div> 
     <div id="footer"> 
      this is a footer 
     </div> 
    </div> 
    @Html.Partial("_FooterScripts") 
</body> 
</html> 

只需将站点范围的CSS和javascripts放在适当的局部视图中即可。

+0

当然,这将工作。我只是想详细地把所有的脚本和CSS放在我的布局的正确部分:) – 2011-05-24 04:17:10

+0

感谢您的解释。也许我没有详细说明我的问题。我有一个模板(局部视图),将分享给许多视图。我不想把脚本/ CSS放在每个视图上,只是为了相同的功能,我想把所有脚本/ css放在布局中的正确部分使用@section – 2011-05-24 04:42:16

+0

http://stackoverflow.com/questions/5433531/using-sections-in-editor-display-templates/5433722#5433722检查这里,那可能更多沿着你在找什么。 – Fourth 2011-05-24 11:28:06

0

将您的脚本放在该部分视图中而不是放在一个部分中(因为您不能在部分中执行@section),或者将它们放在主布局中并有条件地控制其渲染。