HtmlHelper.ActionLink(htmlhelper,string linktext,string action)如何确定正确的路由?
如果我有这个=>@H_502_3@
HtmlHelper.ActionLink("Edit","Edit")
即 – 如果控制器是Product,它将使用href product / edit渲染锚点.@H_502_3@
解决方法
如果您的HtmlHelper看起来像:
public static string MyHelper(this HtmlHelper htmlHelper,... some more parameters ...) { return ... some stuff ... }
然后从您的助手访问:@H_502_3@
RouteData routeData = htmlHelper.ViewContext.RouteData; string controller = routeData.GetrequiredString("controller");
RouteData对象包含ASP.NET Routing为当前请求处理的所有值.这将包括路径中的参数名称和值,例如“{controller} / {action} / {id}”.许多内置的ASP.NET MVC助手从那里获取“环境”数据,因此开发人员不必为他们使用的每个助手键入它们.@H_502_3@
您还可以从此处下载完整的源代码到ASP.NET MVC:@H_502_3@
> ASP.NET MVC 1.0 RTM source code
> ASP.NET MVC 2 Release Candidate source code@H_502_3@