MVC @Url.Content vs @Url.Action
I have looked online but was unable to find the difference between
using @Url.Content
vs @Url.Action
.
Url.Content
is used when you wish to resolve a URL for any file or resource on your site and you would pass it the relative path:
@Url.Content("~/path/file.htm")
Url.Action
is used to resolve an action from a controller such as:
@Url.Action("ActionName", "ControllerName", new { variable = value })
See here for more info:
http://geekswithblogs.net/liammclennan/archive/2008/05/21/122298.aspx
@Url.Action
is used to create a URL to an Action in a controller. For example, assuming you had a controller that looked like this:
public YourControllerController : Controller
{
public ActionResult YourAction() { /* stuff */ }
}
You could create a URL that invokes the action with it like this:
Url.Action("YourAction", "YourController")
@Url.Content
resolves a virtual path into an absolute path. Example:
Url.Content("~/images/image.jpg")