2015-07-10 79 views
0

之前,包括散列目前我有这个如何获得MVC4 Url.Action方法控制器

Url.Action("action", "controller", new { area = "", otherParam=""}); 

它返回<host>/controller/action?params,因为它应该。

我希望它的主人像这样后,用哈希返回:<host>/#/controller/action?params

回答

1

扩展到网址助手:

public static string ActionWithPrefix(this UrlHelper url, string action, string controller, object routeValues) 
    { 
      return Regex.Replace(url.Action(action, controller, routeValues), @"(/[^/]*/)", @"$1#/"); 
    } 

,将返回<AppVirDir>/#/controller/action?params

+0

如果我的网站是这会工作不是像这样托管https:// site/subpath /将散列放在子路径之前,所以不起作用。 – dreamerkumar

+0

你可以写你自己的Action扩展,调用常规的Action方法并预先设定你需要的。 – BhavO

+0

我开始朝这个方向思考。虽然Url.Action会返回完整的网址,但预先设置不会生效。 – dreamerkumar