获取当前视图与网址的HtmlHelper在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);
}