获取当前视图与网址的HtmlHelper在ASP.NET MVC 3 [英] Get Current View's Url with HtmlHelper in ASP.NET MVC 3

查看:174
本文介绍了获取当前视图与网址的HtmlHelper在ASP.NET MVC 3的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我问一个类似的问题<一href=\"http://stackoverflow.com/questions/10069687/use-htmlhelper-to-get-action-in-beginform-method-of-asp-net-mvc-3\">here我觉得这是一个非常容易的(当然不是对我来说)。我有一个HTML辅助扩展一个方法,我需要获得当前视图与网址的HtmlHelper。没有人有任何想法呢?

I ask a similar question here I think this is a really easy one (of course not for me). I have a extension method for Html helper and I need to get current view's url with HtmlHelper. Does anyone have any idea about it?

推荐答案

根据您的意见和原来的线程您链接到我认为你想用URL助手来获取表单操作的网址,但我可以有误解你想要的:

Based on your comment and the original thread you linked to I think you want to use a Url helper to get the URL for the form action, but I could have misunderstood what you wanted:

在一个视图:

 @Url.Action(null) returns the current controller/action
 @Url.Action("Action") returns a custom action with current controller
 @Url.Action("Action","Controller") returns a custom controller and action

在一个HTML助手:

 public static MvcHtmlString MySpecialHelper(this HtmlHelper htmlHelper)
 {
      UrlHelper urlHelper = new UrlHelper(htmlHelper.ViewContext.RequestContext,htmlHelper.RouteCollection);
      string url = urlHelper.Action("Controller","Action");

      //To get the action based on the current Action/Controller use:
      url = urlHelper.Action(htmlHelper.ViewData["action"] as string);

      //or
      url = urlHelper.Action(null);

      return new MvcHtmlString(url);
 }

这篇关于获取当前视图与网址的HtmlHelper在ASP.NET MVC 3的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆