【问题标题】:MVC 3 AjaxHelper Ajax.ActionLink vs. Ajax.RouteLink, Ajax.BeginForm vs. AjaxBeginRouteFormMVC 3 AjaxHelper Ajax.ActionLink 与 Ajax.RouteLink、Ajax.BeginForm 与 AjaxBeginRouteForm
【发布时间】:2011-06-15 18:20:49
【问题描述】:
据我了解
- Ajax.ActionLink - 生成指向当前控制器中特定操作的链接
- Ajax.RouteLink - 根据提供给助手的 RouteData 生成链接
但是我一直在使用 MVC 3,并注意到 Ajax.ActionLink 有许多重载,可以接受 Ajax.RouteLink 可以接受的任何内容,包括 RouteData、协议、ActionName、ControllerName 等。
Ajax.BeginForm 和 Ajax.BeginRouteForm 也是如此
所以是我遗漏了什么还是 Route 版本过时了?
【问题讨论】:
标签:
asp.net
asp.net-mvc
ajax
【解决方案1】:
.Route 版本用于根据路由(名称)配置生成链接。
路由配置(例如:global.asax)
routes.MapRoute(
"faq",
"pages/faq",
new { controller = "Faq", action = "Index" }
);
在视图中使用 - 使用 Html.ActionLink
@Ajax.ActionLink(linkText: "something", controller: "Faq", action: "Index")
在视图中的使用 - 与 Html.RouteLink
@Ajax.RouteLink(linkText: "something", routeName: "faq")