gpt4 book ai didi

asp.net-mvc - ASPNET MVC : Way to figure out the route of the referer (sic)?

转载 作者:行者123 更新时间:2023-12-03 23:54:36 30 4
gpt4 key购买 nike

我的 Controller 上有一些 POST Action ,它们是从一对 GET Action 中命中的。当验证失败时,我想呈现 POST 来自的操作的 View 。例如:

~/accounts POST 到 ~/accounts/disable - 在验证错误时呈现“索引” View
~/accounts/profile POST 到 ~/accounts/disable - 在验证错误时呈现“个人资料” View

我可以从服务器变量中获取引用者 (sic) 并对其进行解析以找出操作,但希望可以内置一些可以满足我想要的功能的东西,或者其他人已经这样做了,我可以从中获取.

似乎 ControllerContext.RouteData 属性只有关于当前请求的信息,而不是引用(原文如此)请求......?

我正在使用 ASP.NET MVC 测试版。

最佳答案

MVC Contrib 在 String 上包含一个扩展方法来获取路由(特别是 in here )。理论上这会让你做

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

或者,当然,将其包装在 HttpRequest 的扩展方法中,这样您就可以
RouteData referrer = Request.ReferrerRoute();

但是,它用于单元测试并使用 Rhino Mocks 创建 GetRouteData() 所需的 HttpContextBase。好消息是它似乎可以通过模拟很少的内容而逃脱,因此如果您创建自己的从 HttpContextBase 派生的 FakeHttpContext 类,您可能能够避免 Rhino Mocks。

关于asp.net-mvc - ASPNET MVC : Way to figure out the route of the referer (sic)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/457362/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com