我有一个局部视图,它显示在一个非HTTPS页面上,但发布到一个需要SSL的控制器。表单定义如下:
我遇到的问题是,在 Visual Studio 中和调试时,主机和端口是localhost:64043
。但是,上面的Url.Action
调用没有输入端口号,这意味着浏览器会定向到我的 IIS 安装。我是否必须添加其他内容,或覆盖此方法?我希望我的应用程序与位置无关。
提前致谢!
发布于 2021-02-25 17:44:31
使用Request.Host.ToUriComponent()
:
string actionUrl = Url.Action("Action", "Controller", new { blah = "" }, Request.Scheme, Request.Host.ToUriComponent());
当它是方案的默认端口时,这也正确地省略了端口号,即,如果方案是HTTP并且端口是80,或者方案是HTTPS并且端口是443,那么它将被省略。
https://stackoverflow.com/questions/6723105
复制相似问题