控制器中的URL动作在服务器上两次生成端口

问题描述 投票:0回答:1

我提到了this existing answer-但没有用。

我正在使用下面的代码来生成完全限定的url,并将其传递给脚本,并在此处使用此url进行重定向。

 @section Scripts
 {
    @Html.Script(@<script type="text/javascript">
    $(document).ready(function () {
        let targetUrl = '@Html.Raw(Url.Action("action", "controller",
            new RouteValueDictionary(new { Area = "Schemes" }),
            Request.Url.Scheme,
            Request.Url.Host))';

        let script = new ListScript(targetUrl);
        script.initialize();           
    });
    </script>)

}

http://servername:9565/Controller/ActionName// ^^^^^添加了额外的端口并附加两次端口号9565。有什么可能的解决方案?为什么会这样?

c# asp.net-mvc-4 url.action
1个回答
0
投票

尝试在Controller中进行以下操作。

var url = Url.Action("action", "controller", new RouteValueDictionary(new { Area = "Schemes" }), HttpContext.Request.Scheme); 

在视图中。

@Url.Action("Action", "Controller", new RouteValueDictionary(new { Area = "Schemes" }), Context.Request.Scheme, Context.Request.Host.ToString())
© www.soinside.com 2019 - 2024. All rights reserved.