2011-08-05 6 views
4

からJSONです:私は、それは次のようなJSONデータを返すというのが私のisActiveチェックボックスがオフになっている場合モデルプロパティはチェックされていてもチェックボックスから常にfalse値を取得します。データは、私が提出したときは、以下のコードを呼び出しますことをフォームしているAJAX呼び出し

$.ajax({ 
     url: '/Company/CheckError', 
     type: 'POST', 
     data: JSON.stringify($(this).serializeObject()), 
     dataType: 'json', 
     processData: false, 
     contentType: 'application/json; charset=utf-8', 
     success: function (data) { 
    } 
}); 

を見つけた:

{"Email":"[email protected]","Name":"test","Phone":"","IsActive":"false","submitType":"","Id":"59"} 
私が自然に見つけた

しかし、のisActiveチェックボックスをオンにした場合、それはこのJSONデータを返します。私のコントローラで今

{"Email":"[email protected]","Name":"test","Phone":"","IsActive":["true","false"],"submitType":"","Id":"59"} 

public ActionResult Method(SomeModel model) 
{ 

} 

他のプロパティがうまく結合します。しかし、model.IsActiveは常にfalseです。 MVCは、チェックボックスの隠し入力からの値ではなく、真の値をバインドすることによって、これを正しく処理すると思いました。

何か不足していますか?次の行を追加します。

@model SomeModel 

@using (Html.BeginForm()) 
{ 
    <div> 
     @Html.LabelFor(x => x.IsActive) 
     @Html.CheckBoxFor(x => x.IsActive) 
    </div> 
    <p><input type="submit" value="OK"></p> 
} 

<script type="text/javascript"> 
    $('form').submit(function() { 
     $.ajax({ 
      url: this.action, 
      type: this.method, 
      data: $(this).serialize(), 
      success: function (data) { 
       alert(data.success); 
      } 
     }); 
     return false; 
    }); 
</script> 
+0

''「偽」は 'false'をを使用してみてください、文字列値である - 私はこの出くわした私が設定したときに' jsonのは、不平は、このラインが作ら – ppumkin

答えて

4

は次のように試してみてくださいあなたのコントローラメソッドに:

model.IsActive = model.IsActive.Contains("true"); 
+0

* *値 'false'をして戻ってきたtrue'をので、それ。データ:$(this).serialize()すごく感謝! – devspider

1

モデル:

public class SomeModel 
{ 
    public bool IsActive { get; set; } 
} 

コントローラー:

public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     var model = new SomeModel(); 
     return View(model); 
    } 

    [HttpPost] 
    public ActionResult Index(SomeModel model) 
    { 
     return Json(new { success = model.IsActive }); 
    } 
} 

ビューアドバンスあなたの助け=に感謝 ')

関連する問題