我需要控制器代码中Url.Content("~\stuff\")
的结果
我如何得到这个?
答案 0 :(得分:37)
在服务代码中(即远离控制器),您可以使用:
string returnUrl = VirtualPathUtility.ToAbsolute("~/stuff/");
mvc1-3公开了System.Web.Mvc中UrlHelper的Url.Content("~/stuff/");
,可以在您的控制器代码中轻松使用。
[已编辑] - 在VirtualPathUtility.ToAbsolute("~/stuff/")
用法中进行细微区分。
答案 1 :(得分:9)
在控制器操作中,您可以使用Url属性:
public ActionResult Index()
{
var url = Url.Content("~/stuff/");
...
}
在处理相对网址时,请注意/
而不是\
的使用情况。
答案 2 :(得分:3)
获取磁盘上的物理文件路径:
Server.MapPath("~\stuff\")
控制器还包含一个urlHelper,可用Url
,但可能不是您需要的。
您期望的结果是什么?
修改:根据您对FilePath的请求,Url.Content("~\stuff\")
应该有效吗?除非你使用一个非常旧的ASP.net MVC,它在控制器上没有Url属性。
答案 3 :(得分:3)