【问题标题】:Why ViewContext after RenderAction PartialView is changed? Route is lost为什么更改 RenderAction PartialView 后的 ViewContext?路线丢失
【发布时间】:2013-11-07 05:53:31
【问题描述】:

我正在尝试使用 MVC4 在 Web 项目中实现动态导航。我项目的所有动态部分都显示为从控制器呈现的部分视图。现在我的情况是初始页面 ViewContext 不适用于 PartialView 内的 Pager 扩展,寻呼机中的路由呈现为 domain.controller.action?pagesize=20&page=2 而不是 domain/about/presscenter/news?pagesize= 20&page=2。页面调试显示我在 RenderAction 之前获得了正确的 ViewContext,但是当它遇到 Pager 扩展时它会丢失。我哪里错了?

【问题讨论】:

    标签: asp.net-mvc-4 renderaction viewcontext


    【解决方案1】:

    我的 Pager 呈现自己接受 UrlHelper.GenerateUrl() 方法所需的参数 ViewContext。所以我不得不像这样将父 ViewContext 传递给 Pager:

    @Html.Pager(Model.PagingFilteringContext, ViewContext.ParentActionViewContext)
    

    【讨论】:

    • 很奇怪!但是'var url = UrlHelper.GenerateUrl(null, null, null, routeValues, RouteTable.Routes, viewContext.RequestContext, true);'在我的寻呼机中删除了它呈现的最后一段 URL,例如 domain/about/presscenter?pagesize=20&page=2 而不是 domain/about/presscenter/news?pagesize=20&page=2。
    猜你喜欢
    • 2020-12-23
    • 1970-01-01
    • 2022-12-05
    • 2018-05-18
    • 1970-01-01
    • 2020-12-19
    • 2020-12-13
    • 1970-01-01
    • 2011-06-23
    相关资源
    最近更新 更多