MVC @ Url.Content vs @ Url.Action

时间:2011-11-18 17:09:29

标签: asp.net-mvc

我已经在线查看但无法找到它们之间的区别 使用@Url.Content vs @Url.Action

2 个答案:

答案 0 :(得分:62)

如果您希望解析网站上任何文件或资源的网址,并使用相对路径传递,则使用

Url.Content

@Url.Content("~/path/file.htm")

Url.Action用于解析来自控制器的操作,例如:

@Url.Action("ActionName", "ControllerName", new { variable = value })

有关详细信息,请参阅此处:

http://geekswithblogs.net/liammclennan/archive/2008/05/21/122298.aspx

答案 1 :(得分:7)

@Url.Action用于在控制器中创建Action的URL。例如,假设您有一个如下所示的控制器:

public YourControllerController : Controller
{
    public ActionResult YourAction() { /* stuff */ }
}

你可以创建一个用它来调用动作的URL:

Url.Action("YourAction", "YourController")

@Url.Content将虚拟路径解析为绝对路径。例如:

Url.Content("~/images/image.jpg")