如何在另一个项目(用于测试的类库)中生成与控制器、操作和参数(对于给定的 ASP.NET MVC 项目)对应的 URL?
到目前为止,我发现的只是HtmlHelper.GenerateRouteLink,但还没有找到如何传递正确的请求上下文和路由集合。
如何在另一个项目(用于测试的类库)中生成与控制器、操作和参数(对于给定的 ASP.NET MVC 项目)对应的 URL?
到目前为止,我发现的只是HtmlHelper.GenerateRouteLink,但还没有找到如何传递正确的请求上下文和路由集合。
试试这个:
var routes = new RouteCollection();
MvcApplication.RegisterRoutes(routes);
var context = new Mock<HttpContextBase>();
var urlHelper = new UrlHelper(new RequestContext(context.Object, new RouteData()), routes);
var url = urlHelper.Action("action", "controller", new { id = ... });