我有一个显示在非 HTTPS 页面上的局部 View ,但 POSTS 到需要 SSL 的 Controller 。表单定义是这样的:
<form id="authForm"
method="post"
action="@Url.Action("authenticate", "auth", new {}, "https")">
我遇到的问题是,在 Visual Studio 中和调试时,主机和端口是 localhost:64043
。但是,上面的 Url.Action
调用没有输入端口号,这意味着浏览器会定向到我的 IIS 安装。我是否必须添加其他内容或重写此方法?我希望我的应用程序与位置无关。
提前致谢!
最佳答案
你可以像这样包含它:
@Url.Action(
"authenticate",
"auth",
null,
"https",
Request.Url.Host + ":" + Request.Url.Port
)
当然,这意味着您的本地网络服务器必须支持 SSL,而 Cassini 则不是这样。你可以使用 IIS Express为了这个工作。
关于c# - Url.Action 不包括端口号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6723105/