使用Razor View引擎从部分视图ASP.NETMVC 3中将内容注入特定部分

使用Razor View引擎从部分视图ASP.NETMVC 3中将内容注入特定部分

我在我的_Layout.cshtml

@RenderSection("Scripts", false)

我可以很容易地从一个角度来使用它:

@section Scripts { 
    @*Stuff comes here*@}

我正在挣扎的是如何从部分视图中将一些内容注入到本节中。

让我们假设这是我的视图页面:

@section Scripts { 

    <script>
        //code comes here
    </script>}<div>
    poo bar poo</div><div>
  @Html.Partial("_myPartial")</div>

我需要在Scripts一节_myPartial部分视图。

我该怎么做?


慕侠2389804
浏览 456回答 3
3回答

忽然笑

部分视图中的部分不工作,这是由设计完成的。你可以用一些定制帮手为了实现类似的行为,但是老实说,包含必要的脚本是视图的责任,而不是部分的责任。我建议使用主视图的@Scripts部分来做到这一点,而不让Parals担心脚本。

德玛西亚99

这是一个很受欢迎的问题,所以我会张贴我的解决方案。我也遇到了同样的问题,虽然这并不理想,但我认为它实际上运行得很好,而且不部分依赖于视图。我的设想是,一个动作本身是可以访问的,但也可以嵌入到一个视图中-谷歌地图。在我的_layout我有:@RenderSection("body_scripts",&nbsp;false)在我的index我认为:@Html.Partial("Clients")@section&nbsp;body_scripts{ &nbsp;&nbsp;&nbsp;&nbsp;@Html.Partial("Clients_Scripts")}在我的clients看我有(所有的地图和阿索克。(HTML):@section&nbsp;body_scripts{ &nbsp;&nbsp;&nbsp;&nbsp;@Html.Partial("Clients_Scripts")}我的Clients_Scripts视图包含要呈现到页面上的javascript。通过这种方式,我的脚本是孤立的,并且可以在需要的地方将其呈现到页面中,并使用body_scripts标记只在剃刀视图引擎找到它的第一次出现时呈现。这让我把所有的东西都分开了-这是一个对我很好的解决方案,其他人可能会有问题,但它确实修补了“按设计”的漏洞。
打开App,查看更多内容
随时随地看视频慕课网APP