2012-03-08 41 views
1

我在ASP.NET MVC 3中創建了一個小型網站,它在debugenvironment中工作正常。ASP.NET MVC 3:HTTP部署後發佈參數allways null

部署之後(在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

當然,控制器是:公共ActionResult註冊(字符串廣播,字符串overig){...} – 2012-03-08 14:13:36

+0

行動方法不是表單提交到的那個。無論如何,請嘗試使用https支持在本地主機上進行調試。 http://blogs.msdn.com/b/rickandy/archive/2011/04/22/better-faster-easier-ssl-testing-for-asp-net-mvc-amp-webforms.aspx – MikeSW 2012-03-08 14:17:49

回答

1

裝飾與HttpPost

[HttpPost] 
public ActionResult Registration(string radio, string overig){ ... } 
+0

我做完之後,我收到一個錯誤頁面: '/'應用程序中的服務器錯誤。 ------------------------------------------------- ------------------------------- 無法找到該資源。 描述:HTTP 404.您正在查找的資源(或其某個依賴項)可能已被刪除,名稱已更改或暫時不可用。請檢查以下網址並確保它拼寫正確。 請求的網址:/首頁/註冊/ – 2012-03-08 14:37:31

+0

仔細查看錯誤信息請求的網址是/首頁/ **註冊** /其中ActionResults的名稱是**註冊**有一個錯字 – Rafay 2012-03-08 14:41:12

+0

對不起,這是我的錯字錯誤...確定是說註冊 – 2012-03-08 14:47:18

2

此問題是由安全環境造成的(HTTPS)的ActionResult的。

我把網站上的正常環境(HTTP)和它的作品完美無瑕;)

感謝名單爲你的時間。