首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在视图或控制器之外生成ASP.NET MVC中的url

在视图或控制器之外生成ASP.NET MVC中的url
EN

Stack Overflow用户
提问于 2014-03-11 06:52:38
回答 3查看 5.1K关注 0票数 5

我遵循关于“使用ASP.NET模拟Windows以运行计划作业” on CodeProject的文章,在“缓存中的存储项过期后再次存储”部分中,我需要点击应用程序的一个页面。

我不想硬写url,我想用Asp.Net MVC UrlHelper来生成它,但是它连接到它需要一些我在这个上下文中无法访问的实例,因为它不在控制器或视图中。

这是可能的还是有其他的解决办法?

编辑:

可悲的HttpContext.Current在CacheItemRemovedCallBack中不可访问。因此,唯一的解决方案似乎是将所需的值(Url.Host)存储在Application_Start方法中,以便以后构建完整的url。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-11 07:51:42

可以使用具有以下参数的Url.Action方法:

代码语言:javascript
复制
@Url.Action("Index", "Home", routeValues, Request.Url.Scheme)

代码语言:javascript
复制
new UrlHelper(HttpContext.Request.RequestContext).Action("Index", "Home", routeValues, Request.Url.Scheme)
票数 5
EN

Stack Overflow用户

发布于 2014-03-11 07:56:36

您可以创建自己的UrlHelper实例。为此,您需要访问当前的http请求。这可以使用HttpContext :HttpContext.Current的静态实例来实现:

代码语言:javascript
复制
new UrlHelper(HttpContext.Current.Request.RequestContext).Action("action");
票数 2
EN

Stack Overflow用户

发布于 2020-01-25 14:15:45

[https://www.codemag.com/Article/1312081/Rendering-ASP.NET-MVC-Razor-Views-to-String][1]

请检查此选项以获得完整的说明如何完成此操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22318443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档