我想要做的是將JSON對象傳遞給WebAPI ajax調用並映射到服務器端的強類型對象。字符串值完美張貼,但是當涉及到布爾值時,它們根本不被傳遞。以下是我的代碼:JSON.Stringify數據包括布爾值
var gsGasolineField = $('.gsGasoline').val();
blData = { Gasoline: gsGasolineField };
var json = JSON.stringify(blData);
$.ajax({
type: "POST",
url: url,
data: json,
contentType: "application/json",
dataType: "json",
statusCode: {
201 /*Created"*/: function (data) {
$("#BusinessLayerDialog").dialog("close");
ClearForm("#BusinessLayerForm");
},
400: /*Bad request - validation error*/ function (data) {
$("#BusinessLayerForm").validate().form();
},
500: function (data) {
alert('err');
}
},
beforeSend: setHeader
});
汽油屬性在服務器端是布爾類型。
編輯:
正如上面提到的,汽油是布爾並且是MVC我的HTML標記是如下
<div style="float: left">@Html.CheckBoxFor(x => x.GasStation.Gasoline, new { @class = "gsGasoline" })</div>
所以我只是把這個複選框的值,並把它傳遞給JSON對象
EDIT
鋁所以試圖直接發送它真
blData = { Gasoline: true };
還是虛假的服務器端!
是什麼類型的字段是gsGasoline – Garvin
你能否也請在你的控制器上包含Action的代碼,你試圖映射到的C#類以及.gsGasoline的HTML標記? – Christoffer
如果gsGasolineField是一個複選框,它將返回「on」或「off」,而不是布爾值。嘗試'(gsGasolineField ==='on'?true:false)'或只是'(gsGasolineField ==='on')' – jrajav