$.ajax メソッドを使用してビューからコントローラーに json オブジェクトを受信したいのですが、コントローラーの受信オブジェクトが null データを表示する理由がわかりません。
これが私のコードです。
$("#Save").click(function (e) {
$.ajax({ url: "Home/Save",
type: "POST",
datatype:'json',
data: ({movies:movies})
});
});
ここで、movies は、次を含む JavaScript 配列です。
({
Name:"DDLJ",Stars:"SRK",Director:"Yashraj",Year:"2012"
}, {Name:"K3G",Stars:"SRK",Director:"Karan",Year:"2010"}
)
私のコントローラーコードは次のとおりです。
public string Save (List<MovieDB> movies)
{
return "";
}
ここで、MovieDB は、プロパティを持つモデル クラスです。
public class MoviesDB
{
//public int MoviesID { get; set; }
public string Name { get; set; }
public string Stars { get; set; }
public string Director { get; set; }
public DateTime Year { get; set; }
}
ビューからコントローラーにjsonデータを受け取るためのより良い方法を提案してください。
実際には、ビューからコントローラーアクションメソッドにjavascript配列オブジェクトを送信しようとしましたが、その中に私の配列コードがあります
<script type="text/javascript">
var cnt = 1;
var cnt2 = 1;
var i;
var movies = [];
movies.push({ Name: $("#txtMovieName").val(), Stars: $("#txtStarCasts").val(), Director: $("#txtDirector").val(), Year: $("#txtYear").val(), Index: cnt++ });
$("#modelTable").empty();
$("#modelTemplate").tmpl(movies).appendTo($("#modelTable"));
$("#txtMovieName").val("");
$("#txtStarCasts").val("");
$("#txtDirector").val("");
$("#txtYear").val("");
$("#txtMovieName").focus();
e.preventDefault();
});
$("#Save").click(function (e) {
//var jm = $.toJSON(movies);
$.ajax({ url: "Home/Save",
type: "POST",
data: ({movies:movies})
// contentType: 'application/json; charset=utf-8'
});
});
</script>
今、私はその映画のjavascript配列オブジェクトをコントローラーのSave()アクションメソッドに送信したいのですが、jsonなどの方法を使用して何か提案してください...