加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 给定htmlHelper动作名称,如何找出控制器名称?

发布时间:2020-12-16 04:11:41 所属栏目:asp.Net 来源:网络整理
导读:HtmlHelper.ActionLink(htmlhelper,string linktext,string action)如何确定正确的路由? 如果我有这个= HtmlHelper.ActionLink("Edit","Edit") Mvc自动找出正确的路线. 即 – 如果控制器是Product,它将使用href product / edit渲染锚点. 那么 – 当我得到ht
HtmlHelper.ActionLink(htmlhelper,string linktext,string action)如何确定正确的路由?

如果我有这个=>

HtmlHelper.ActionLink("Edit","Edit")

Mvc自动找出正确的路线.

即 – 如果控制器是Product,它将使用href product / edit渲染锚点.

那么 – 当我得到htmlHelper动作名称组合时如何找出控制器名称?

解决方法

如果您的HtmlHelper看起来像:
public static string MyHelper(this HtmlHelper htmlHelper,... some more parameters ...) {

    return ... some stuff ...
}

然后从您的助手访问:

RouteData routeData = htmlHelper.ViewContext.RouteData;
string controller = routeData.GetRequiredString("controller");

RouteData对象包含ASP.NET Routing为当前请求处理的所有值.这将包括路径中的参数名称和值,例如“{controller} / {action} / {id}”.许多内置的ASP.NET MVC助手从那里获取“环境”数据,因此开发人员不必为他们使用的每个助手键入它们.

您还可以从此处下载完整的源代码到ASP.NET MVC:

> ASP.NET MVC 1.0 RTM source code
> ASP.NET MVC 2 Release Candidate source code

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读