代码之家  ›  专栏  ›  技术社区  ›  Peter Mounce

ASPNET MVC:找到推荐人路线的方法(原文如此)?

  •  7
  • Peter Mounce  · 技术社区  · 17 年前

    我的控制器上有一些POST操作,它们是由一对GET操作命中的。当验证失败时,我想呈现帖子来自的操作的视图。例如:

    ~/accounts发布到~/accounts/disable-出现验证错误时呈现“索引”视图 ~/accounts/profile发布到~/accounts/disable-出现验证错误时呈现“profile”视图

    我可以从服务器变量中获取referer(sic)并对其进行解析,以了解操作,但我希望内置的东西能够满足我的需求,或者其他人已经完成了这项工作,我可以从中借鉴。

    这似乎是控制器的上下文。RouteData属性仅包含有关当前请求的信息,而不包含引用(sic)请求的信息。。。?

    我在ASP上。NET MVC测试版。

    1 回复  |  直到 17 年前
        1
  •  2
  •   stevemegson    17 年前

    MVC Contrib在字符串上包含一个扩展方法,用于获取路由(具体来说, in here ).理论上,这会让你

    RouteData referrer = Request.UrlReferrer.PathAndQuery.Route();
    

    当然,也可以在HttpRequest上用扩展方法将其封装起来,这样就可以

    RouteData referrer = Request.ReferrerRoute();
    

    但是,它用于单元测试,并使用Rhino Mock创建GetRouteData()所需的HttpContextBase。好消息是,它似乎很少进行模拟,因此如果您创建自己的从HttpContextBase派生的FakeHttpContext类,就可以避免Rhino模拟。

    推荐文章