Rya*_*n B 5 c# html-helper razor asp.net-mvc-4
我们正在尝试将布局的部分设置为“必需”,但可根据各个页面进行配置。目前,我们使用Section进行此操作。
@section FloatingNav {
<h1>@Model.Name <span class="release-year">@Model.AverageRating</span></h1>
<ul class="sub-nav">
<li class="active"><a href="#episodes">Episodes</a></li>
<li><a href="#episodes">Cast</a></li>
<li>Reviews</li>
<li>Related</li>
</ul>
}
Run Code Online (Sandbox Code Playgroud)
这要求您在每个新页面中都设置此块,但我想通过一些默认值和使用部分视图进行配置的选项来使此过程更容易。我希望设置像这样的Razor助手。
@using System.Web.Mvc.Html
@helper FloatingNav(string name, int rating) {
@section FloatingNav {
<h1>
name <span class="release-year">rating</span></h1>
<ul class="sub-nav">
<li class="active"><a href="#episodes">Episodes</a></li>
<li><a href="#episodes">Cast</a></li>
<li>Reviews</li>
<li>Related</li>
</ul>
}
}
@helper FloatingNav(System.Web.Mvc.HtmlHelper html, string viewName) {
@section FloatingNav {
@html.Partial(viewName)
}
}
@helper FloatingNav(System.Web.Mvc.HtmlHelper html, string viewName, object model) {
@section FloatingNav {
@html.Partial(viewName, model)
}
}
Run Code Online (Sandbox Code Playgroud)
因此要实现的语法类似于
@Layout.FloatingNav(@Model.Name, @Model.AverageRating)
Run Code Online (Sandbox Code Playgroud)
要么
@Layout.FloatingNav("_SimpleNav", @Model)
Run Code Online (Sandbox Code Playgroud)
但是,问题在于,剃刀助手似乎不了解该节的语法。有没有办法在Razor Helpers中包含部分?
| 归档时间: |
|
| 查看次数: |
1135 次 |
| 最近记录: |