ASP.NET MVC 3:HTTP Post参数在部署后始终为null

时间:2012-03-08 13:57:54

标签: asp.net asp.net-mvc-3 http parameters null

我在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(后来在我使用复杂类型的网站中)。

任何人都有一个好主意?

2 个答案:

答案 0 :(得分:2)

此问题是由安全环境(https)引起的。

我把网站放在正常的环境(http)上,它完美无瑕;)

Thanx,你的时间。

答案 1 :(得分:1)

HttpPost

装饰ActionResult
[HttpPost]
public ActionResult Registration(string radio, string overig){ ... }