Html.BeginForm有一个重载,允许您指定要使用的协议。
我是否正确地说Ajax.BeginForm没有?
我目前正在通过输出带有修改操作的等效表单html来解决这个问题,但这感觉很麻烦。
@{
string actionStr = Config.EnableHttps ? Url.Action("Action", "Controller", new { }, "https").UrlToUrlWithoutPort()
:
Url.Action("Action", "Controller", new { }, "http");
}
<form method="post" data-ajax-loading="#SomeGif" data-ajax="true" action="@actionStr">
答案 0 :(得分:1)
您可以在操作方法上放置[RequireHttps]
属性,要求所有呼叫都是https吗?或者编写一个自定义属性来检查config.enablehttps并以这种方式要求它?