包括外部Razor Helper功能

时间:2012-12-28 20:03:29

标签: asp.net-mvc-3 razor razor-declarative-helpers

有没有办法在视图中导入剃刀内嵌帮助器?

我尝试了以下内容:

<% Html.Partial("PaginationTemplate"); %>

<!-- later down -->

<%= KnockoutPagination("pendingQuestionsPagination", "$root.pendingQuestionsViewModel.pagination") %>

Inside PaginationTemplate.cshtml ...

@helper KnockoutPagination(string id, string context) {
<div id="@id" class="pagination pagination-centered" data-bind="with: @context, visible: @(context).hasPages">
    <ul>
        <li data-bind="css: prevCss"><a href="#" data-bind="click: clickPrev">Prev</a></li>
        <!-- ko foreach: pages -->
        <li data-bind="css: $parent.pagingItemCss($data)"><a href="#" data-bind="text: $data, click: $parent.changePage"></a></li>
        <!-- /ko -->
        <li data-bind="css: nextCss"><a href="#" data-bind="click: clickNext">Next</a></li>
    </ul>
</div>
}

1 个答案:

答案 0 :(得分:3)

您可以改为创建一个全局帮助程序,可以在任何地方引用它。如果你添加一个app_code文件夹,在那里放一个CSHTML文件并定义帮助器,你可以通过这样做来引用这个全局帮助:

<file name>.<helper name>(params)

然后你可以在任何你想要的地方引用它。 See this for more information