相关疑难解决方法(0)

使用Razor View Engine从部分视图ASP.NET MVC 3中将内容注入特定部分

我在本节中定义了此部分 _Layout.cshtml

@RenderSection("Scripts", false)
Run Code Online (Sandbox Code Playgroud)

我可以从视图中轻松使用它:

@section Scripts { 
    @*Stuff comes here*@
}
Run Code Online (Sandbox Code Playgroud)

我正在努力的是如何从局部视图中获取本节内注入的一些内容.

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

@section Scripts { 

    <script>
        //code comes here
    </script>
}

<div>
    poo bar poo
</div>

<div>
  @Html.Partial("_myPartial")
</div>
Run Code Online (Sandbox Code Playgroud)

我需要Scripts_myPartial局部视图中注入部分内容.

我怎样才能做到这一点?

asp.net asp.net-mvc partial-views razor asp.net-mvc-3

316
推荐指数
8
解决办法
19万
查看次数

如何在ASP.NET MVC 3 razor ViewStart文件中指定不同的布局?

我希望在我的应用程序中有2个单独的布局.假设一个是网站的公共部分,另一个是会员方面.

为简单起见,我们可以说每个站点的所有逻辑都整齐地包含在2个不同的控制器中.

  • PublicController
  • StaffController

并且它们每个都具有相应的布局,用于每个视图下的所有视图.

  • _PublicLayout.cshtml
  • _StaffLayout.cshtml

如何使用_ViewStart.cshtml文件指定"Public"下的所有View/Action使用PublicLayout,"Staff"下的所有内容都使用StaffLayout?

谢谢!

asp.net-mvc layout razor asp.net-mvc-3

308
推荐指数
3
解决办法
16万
查看次数

使用编辑器/显示模板中的部分

我想将所有JavaScript代码保存在一个部分中; 就body在我的主布局页面中的结束标记之前,只是想知道最好的去做,MVC风格.

例如,如果我创建一个DisplayTemplate\DateTime.cshtml使用jQuery UI的DateTime Picker 的文件,而不是将JavaScript直接嵌入到该模板中,那么它将在页面中间呈现.

在我的普通视图中,我可以使用@section JavaScript { //js here }然后@RenderSection("JavaScript", false)在我的主布局中,但这似乎不适用于显示/编辑器模板 - 任何想法?

html asp.net-mvc razor asp.net-mvc-3

104
推荐指数
6
解决办法
7万
查看次数

如何从局部视图将JavaScript呈现到MasterLayout部分?

鉴于MVC3和Razor引擎,我得到了

_MasterLayout.cshtml

@RenderSection("JavaScript", required: false)
..
..
@RenderBody()
..
Run Code Online (Sandbox Code Playgroud)

View.cshtml与_ViewStart.cshtml中定义的_MasterLayout.cshtml

..
@Html.RenderAction("PartialView", "PartialController")
..
Run Code Online (Sandbox Code Playgroud)

PartialView.cshtml

..
@section JavaScript
{
........
}
..
Run Code Online (Sandbox Code Playgroud)

如何确保部分视图中的JavaScript最终出现在"主布局"部分中?

编辑

上述方案不起作用,因为局部视图没有定义主布局.另一方面,视图确实具有定义了RenderSection的布局.如果我将部分JavaScript从部分视图移动到View,Razor知道将其渲染到何处.但是,由于部分视图没有布局,因此它不知道如何处理部分JavaScript,因此不会将其呈现在任何地方.

razor c#-4.0 asp.net-mvc-3

18
推荐指数
2
解决办法
2万
查看次数

从局部视角看剃刀截面夹杂物

我在_Layout.cshtml中有脚本部分:

<html>
    <body>
    ...
        @RenderSection("FooterScript", required: false)
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我查看包含的"Index.cshtml" @Html.RenderPartial("LinksBlock", someModel).LinksBlock部分需要脚本文件"links.js".我想从我的局部视图中将links.js包含到FooterScript中,而不是从主视图(主视图不知道部分视图的依赖关系),我想确定,如果我在我的中使用多个LinksBlock查看,只包含1个links.js.可能吗?

asp.net-mvc razor asp.net-mvc-3

2
推荐指数
1
解决办法
2743
查看次数