在ASP中生成url.在视图或控制器之外的.NET MVC
本文关键字:MVC NET 控制器 视图 ASP url | 更新日期: 2023-09-27 17:49:21
我遵循文章"使用ASP模拟Windows服务"。在CodeProject上,在"过期后再次将项目存储在缓存中"部分,我需要点击应用程序的一个页面。
我想用Asp. js生成它,而不是硬写url。. MVC UrlHelper,但它似乎需要一些实例,我没有访问在这个上下文中,因为它不在控制器或视图
这是可能的还是有其他解决方案?
编辑:可惜HttpContext。当前在CacheItemRemovedCallBack中不可访问。因此,唯一的解决方案似乎是在Application_Start方法中存储所需的值(url . host),以便稍后构建完整的url。
您可以使用Url。Action方法,参数如下:
@Url.Action("Index", "Home", routeValues, Request.Url.Scheme)
或
new UrlHelper(HttpContext.Request.RequestContext).Action("Index", "Home", routeValues, Request.Url.Scheme)
您可以创建自己的UrlHelper实例。为此,您需要访问当前的http请求。这可以通过HttpContext: HttpContext的静态实例来实现。当前:
new UrlHelper(HttpContext.Current.Request.RequestContext).Action("action");
[https://www.codemag.com/Article/1312081/Rendering-ASP.NET-MVC-Razor-Views-to-String][1]
检查这个完整的说明如何做到这一点