2

我成功地使用了 Nancy Razor 引擎。我有一个布局,它为我的 javascript 和我的CSS 文件_Master.cshtml定义了一个剃刀。@section@Html.Partial()

这一切都很好。

编辑 1 有关更多有用信息,请参见此处,包括解决问题的简洁扩展方法:

_主布局

@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<dynamic>
<!DOCTYPE html>
<html lang="en">
    <head>
        //Head stuff
        @RenderSection("CSS", required: false)
    </head>
    <body>
        //Body Stuff
        @RenderBody()
        @RenderSection("Partial", required: false)
        @RenderSection("JS", required: false)
    </body> 
</html>

示例视图

@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<dynamic>
@{
    Layout = "_Master.cshtml";
}

// View HTML

@section Partial{
    @Html.Partial("Modal/FindWizard")
}

@section JS{
    <script src="/Scripts/Coffee/example.view.min.js"> </script>
}

您可以从上面的示例视图中看到我已经包含了一个Partial名为FindWizard。我希望这个文件也能利用 _Master Layout 中定义的剃须刀部分。

像这样的东西:

带有@sections 的 FindWizard Partial

@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<dynamic>

<div>
    //.. Wizard HTML
</div>

@section CSS{
    <link href="/Content/css/bootstrap-wizard.css" rel="stylesheet" />
}

@section JS{
    <script src="/Scripts/min/bootstrap-wizard.min.js"></script>
}

我已经尝试过了,但我无法从 Partial 文件中获取剃刀 @sections 以呈现到最终响应中。

这种技术可行吗?也许这是一个简单的坏主意,因为如果在同一视图中重新使用 Partial 可能会导致包含重复的 js 文件?

谢谢

4

0 回答 0