我需要这样做:

<script type="text/javascript">
    token_url = "http://example.com/your_token_url";
</script>

我正在使用MVC的Beta版本,但我不知道如何获得一个动作的绝对url。我想这样做:

<%= Url.AbsoluteAction("Action","Controller")) %>

是否有用于此的helper或Page方法?


当前回答

也许这个(?):

<%= 
  Request.Url.GetLeftPart(UriPartial.Authority) + 
  Url.Action("Action1", "Controller2", new {param1="bla", param2="blabla" })
%>

其他回答

带参数的完整答案是:

var url = Url.Action("ActionName", "ControllerName", new { id = "arg_value" }, Request.Url.Scheme);

那会产生一个绝对url

Env: dotnet核心版本1.0.4

Url.Action("Join",null, null,Context.Request.IsHttps?"https":"http");
<%= Url.Action("About", "Home", null, Request.Url.Scheme) %>
<%= Url.RouteUrl("Default", new { Action = "About" }, Request.Url.Scheme) %>

点击这里获取更多信息,但基本上不需要扩展方法。它已经存在了,只是不是以非常直观的方式。

Url.Action("Action", null, null, Request.Url.Scheme);

也许这个(?):

<%= 
  Request.Url.GetLeftPart(UriPartial.Authority) + 
  Url.Action("Action1", "Controller2", new {param1="bla", param2="blabla" })
%>