Мне нужна помощь снова с Asp.Net MVC (Razor View Engine). На мой взгляд (индекс) У меня естьMVC3 (Razor) Json Получить десериализованные данные в контроллере
@model IEnumerable<Movie>
Я хочу передать модель к контроллеру: Я stringify модель таким образом:
<script type="text/javascript">
function postData(){
var urlact='@Url.Action("createDoc")';
var model ='@Html.Raw(Json.Encode(Model));
$.ajax({
data: JSON.stringify(model),
type:"POST",
url:urlact,
datatype:"json",
contentType:"application/json; charset=utf-8"
});
}
</script>
Все, кажется, работает, потому что я знаю, строковой данные:
'[{"ID":1,"Title":"The Lord of the Rings: The Fellowship of the Ring","ReleaseDate":"\/Date(1007938800000)\/","Genre":"Fantasy","Price":93000000.00},{"ID":2,"Title":"The Lord of the Rings: The Two Towers","ReleaseDate":"\/Date(1039042800000)\/","Genre":"Fantasy","Price":94000000.00},{"ID":3,"Title":"The Lord of the Rings: The Return of the King","ReleaseDate":"\/Date(1070233200000)\/","Genre":"Fantasy","Price":94000000.00}]';
проблема заключается в том: в контроллере, имяМетода «createDoc» (как заявлено в сценарии) не может получить доступ к строковым данным. После некоторых образцов, основанные на Интернете, мой метод что-то вроде этого:
[HttpPost]
public ActionResult createDoc(IEnumerable<Movie> movies)
{
//...using movies list
return View();
}
Почему я не могу получить доступ к строковым данным? Как я могу это сделать, есть ли способ вызвать десериализацию модели в методе Controller? Кроме того, могу ли я использовать метод serialize() вместо stringify()? Если да, то какой синтаксис, View & Сторона контроллера?
спасибо.
Какая ошибка вы получаете? Является ли параметр movies нулевым? Это вообще ошибка? – Dismissile
Нет, я просто ничего не могу сделать для своего действия createDoc. Кажется, что ничего не отправлено на это. (Я не знаю, может быть, объявление для входного параметра неверно) – Jack88PD