MVC @ Url.Content vs @ Url.Action

Nat*_*Pet 48 asp.net-mvc

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

Ric*_*ard 65

Url.Content 当您希望解析站点上任何文件或资源的URL时使用,并将相对路径传递给它:

@Url.Content("~/path/file.htm")
Run Code Online (Sandbox Code Playgroud)

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

@Url.Action("ActionName", "ControllerName", new { variable = value })
Run Code Online (Sandbox Code Playgroud)

有关详情,请参阅此处:

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


vcs*_*nes 7

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

public YourControllerController : Controller
{
    public ActionResult YourAction() { /* stuff */ }
}
Run Code Online (Sandbox Code Playgroud)

你可以创建一个URL来调用它的动作,如下所示:

Url.Action("YourAction", "YourController")
Run Code Online (Sandbox Code Playgroud)

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

Url.Content("~/images/image.jpg")
Run Code Online (Sandbox Code Playgroud)