私はノックアウトとmvcを初めて使用するので、助けが必要です.ドロップダウンリストがサーバーから正常に読み込まれており、保存ボタンをクリックするとコントローラーでSaveメソッドが呼び出されます. しかし、問題は、コントローラーでjsonデータを受信できない、つまりnullであることです。ここに私のコードが表示されています
var initialData = @Html.Raw( new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Model));
var viewModel = function(){
var self = this;
self.HomeAgencies = ko.observableArray(initialData.HomeAgencies);
self.selectedOrgUnit = ko.observable();
self.Save = function () {
$.ajax({
url: "@Url.Action("Save")",
type: "POST",
data: ko.toJSON(this),
contentType: "application/json; charset=utf-8",
dataType:"json",
success: function(result) {alert(result.message)}
});
}
}
var vm = new viewModel();
ko.applyBindings(vm);
コントローラーのどこに次のコードがありますか
public JsonResult Save(string someData) { var message = string.Format("{0} を保存しました", "成功しました"); return Json(new { メッセージ }); }
string someData は常に null であり、json データが期待されます。