我在ASP.NET MVC 3中创建了一个小网站,它在debugenvironment中运行良好。
部署后(在https网站上)网站出现问题,经过一段时间后,似乎HTTPPOST参数总是为空...
我会提供一些信息:
.cshtml:
@using (@Html.BeginForm("Registration", "Home", FormMethod.Post)){
<div id="middle">
<div id="radio">
@foreach (var item in Model)
{
<input type="radio" id="@string.Format("radio{0}", item.ID)" name="radio" value="@item.ID" /><label for="@string.Format("radio{0}", item.ID)">@item.Description</label>
}
</div>
<div id="divOverig">
<label for="overig">
Overig:</label>
<input style="float:right; width:70%;" type="text" id="overig" name="overig" />
</div>
</div>
<div id="end">
</div>
<div id="left">
@Html.ActionLink("Terug", "Device")
</div>
<div id="right">
<input type="submit" id="next" value="Naar apparaat informatie" />
</div>
}
控制器:
public ActionResult Problem(string radio, string overig){ ... }
在调试环境中,参数被正确填充并传递。在Web服务器上,参数总是空的。
当我在GET中更改POST工作正常,但我想使用POST(后来在我使用复杂类型的网站中)。
任何人都有一个好主意?
答案 0 :(得分:2)
此问题是由安全环境(https)引起的。
我把网站放在正常的环境(http)上,它完美无瑕;)
Thanx,你的时间。
答案 1 :(得分:1)
用HttpPost
[HttpPost]
public ActionResult Registration(string radio, string overig){ ... }