code_junkie

How to I find the absolute url of an action in ASP.NET MVC?

Nov 13th, 2011
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.48 KB | None | 0 0
  1. <script type="text/javascript">
  2. token_url = "http://example.com/your_token_url";
  3. </script>
  4.  
  5. <%= Url.AbsoluteAction("Action","Controller")) %>
  6.  
  7. namespace System.Web.Mvc
  8. {
  9. public static class HtmlExtensions
  10. {
  11. public static string AbsoluteAction(this UrlHelper url, string action, string controller)
  12. {
  13. Uri requestUrl = url.RequestContext.HttpContext.Request.Url;
  14.  
  15. string absoluteAction = string.Format("{0}://{1}{2}",
  16. requestUrl.Scheme,
  17. requestUrl.Authority,
  18. url.Action(action, controller));
  19.  
  20. return absoluteAction;
  21. }
  22. }
  23. }
  24.  
  25. <%= Url.AbsoluteAction("Dashboard", "Account")%>
  26.  
  27. Url.Action("Action", null, null, "http");
  28.  
  29. using System.Web.Routing;
  30.  
  31. namespace System.Web.Mvc {
  32. public static class HtmlExtensions {
  33.  
  34. public static string AbsoluteAction(this UrlHelper url, string actionName) {
  35. Uri requestUrl = url.RequestContext.HttpContext.Request.Url;
  36. return url.Action(actionName, null, (RouteValueDictionary)null, requestUrl.Scheme, requestUrl.Authority);
  37. }
  38. public static string AbsoluteAction(this UrlHelper url, string actionName, object routeValues) {
  39. Uri requestUrl = url.RequestContext.HttpContext.Request.Url;
  40. return url.Action(actionName, null, new RouteValueDictionary(routeValues), requestUrl.Scheme, requestUrl.Authority);
  41. }
  42. public static string AbsoluteAction(this UrlHelper url, string actionName, RouteValueDictionary routeValues) {
  43. Uri requestUrl = url.RequestContext.HttpContext.Request.Url;
  44. return url.Action(actionName, null, routeValues, requestUrl.Scheme, requestUrl.Authority);
  45. }
  46. public static string AbsoluteAction(this UrlHelper url, string actionName, string controllerName) {
  47. Uri requestUrl = url.RequestContext.HttpContext.Request.Url;
  48. return url.Action(actionName, controllerName, (RouteValueDictionary)null, requestUrl.Scheme, requestUrl.Authority);
  49. }
  50. public static string AbsoluteAction(this UrlHelper url, string actionName, string controllerName, object routeValues) {
  51. Uri requestUrl = url.RequestContext.HttpContext.Request.Url;
  52. return url.Action(actionName, controllerName, new RouteValueDictionary(routeValues), requestUrl.Scheme, requestUrl.Authority);
  53. }
  54. public static string AbsoluteAction(this UrlHelper url, string actionName, string controllerName, RouteValueDictionary routeValues) {
  55. Uri requestUrl = url.RequestContext.HttpContext.Request.Url;
  56. return url.Action(actionName, controllerName, routeValues, requestUrl.Scheme, requestUrl.Authority);
  57. }
  58. public static string AbsoluteAction(this UrlHelper url, string actionName, string controllerName, object routeValues, string protocol) {
  59. Uri requestUrl = url.RequestContext.HttpContext.Request.Url;
  60. return url.Action(actionName, controllerName, new RouteValueDictionary(routeValues), protocol, requestUrl.Authority);
  61. }
  62.  
  63. }
  64. }
  65.  
  66. <%= Url.Action("About", "Home", null, Request.Url.Scheme) %>
  67. <%= Url.RouteUrl("Default", new { Action = "About" }, Request.Url.Scheme) %>
  68.  
  69. namespace System.Web.Mvc
  70. {
  71. public static class HtmlExtensions
  72. {
  73. public static string AbsoluteAction(this HtmlHelper html, string actionUrl)
  74. {
  75. Uri requestUrl = html.ViewContext.HttpContext.Request.Url;
  76.  
  77. string absoluteAction = string.Format("{0}://{1}{2}",
  78. requestUrl.Scheme,
  79. requestUrl.Authority,
  80. actionUrl);
  81.  
  82. return absoluteAction;
  83. }
  84. }
  85. }
  86.  
  87. <%= Html.AbsoluteAction(Url.Action("Dashboard", "Account"))%> ยป
  88.  
  89. public static Uri GetBaseUrl(this UrlHelper url)
  90. {
  91. Uri contextUri = new Uri(url.RequestContext.HttpContext.Request.Url, url.RequestContext.HttpContext.Request.RawUrl);
  92. UriBuilder realmUri = new UriBuilder(contextUri) { Path = url.RequestContext.HttpContext.Request.ApplicationPath, Query = null, Fragment = null };
  93. return realmUri.Uri;
  94. }
  95.  
  96. public static string ActionAbsolute(this UrlHelper url, string actionName, string controllerName)
  97. {
  98. return new Uri(GetBaseUrl(url), url.Action(actionName, controllerName)).AbsoluteUri;
  99. }
  100.  
  101. <%=
  102. Request.Url.GetLeftPart(UriPartial.Authority) +
  103. Url.Action("Action1", "Controller2", new {param1="bla", param2="blabla" })
  104. %>
Add Comment
Please, Sign In to add comment