2012-04-30 85 views
0

問題:複選框值在controller.cs中顯示爲空。但根據從jqgrid選擇的行,它工作得很好。但是,當我選擇任何行並更新所有字段時,它將傳遞給具有修改值的控制器,但只有IsEnabled字段爲空。如何檢索控制器中的CheckBox值 - Asp.Net MVC 3和Jquery

我有數據庫字段名爲IsEnabled有位數據類型。

我已經寫了下面的代碼在.cshtml

<input type="checkbox" value='Yes' offval='No' name="IsEnabled" /> 

我使用下面的代碼複選框值綁定按照數據庫

grid.jqGrid('GridToForm', gsr, "#order"); 

我有保存按鈕。當我點擊保存下面的代碼將執行

$("#btnSave").click(function() { 
       var data = JSON.stringify($('#order').serializeObject()); 
       var href = '@Url.Action("SaveData", "Users")'; 
       var ajaxResponse = $.ajax({ 
        type: "post", 
        url: href, 
        dataType: 'json', 
        data: data, 
        contentType: "application/json; charset=utf-8", 
        success: function (result) { 
         if (result.Success == true) { 
          alert("Success"); 
         } 
         else { 
          alert("Error: " + result.Message); 
         } 
        } 
       }); 

繼寫在Controller.cs代碼

(在FormValue 它將正確顯示所有更新值除的IsEnabled,它會顯示始終爲空。

[AcceptVerbs(HttpVerbs.Post)] 
     public ActionResult SaveData(User FormValue) 
     { 
      string message = ""; 
      return Content(message); 
     } 
+0

這篇博客可以幫助你的http://博客。 ecofic.com/?p=346 – Rafay

+0

感謝您的快速回復,但它無法解決我的問題,因爲我使用的是Model而不是FormCollection ** – imdadhusen

回答

0

您必須刪除此代碼(如果使用jQuery AJAX)

[AcceptVerbs(HttpVerbs.Post)]

當你使用回傳和發送類使用上面的代碼

發送類使用jQuery使用此代碼: 嘗試:

$.ajax({ 
       type: "post", 
       url: href, 
       dataType: 'json', 
       data: SON.stringify({ FormValue : { ID : $('#controlIdName').val() , Name : $('#ControlName').val() } }), 
       contentType: "application/json; charset=utf-8", 
       success: function (result) { 
        if (result.Success == true) { 
         alert("Success"); 
        } 
        else { 
         alert("Error: " + result.Message); 
        } 
       }