Я новичок в MVC, AJax и JSON. Я создаю список букв в соответствии с параметром, передаваемым в контроллер, как это
public JsonResult RefreshTable(int fld_id)
{
List<Referring> letterList = new List<Referring>();
using (WebECartableEntities dc = new WebECartableEntities())
{
letterList = dc.Referrings.Where(u =>u.fld_Id == fld_id).ToList();
}
return Json(letterList, JsonRequestBehavior.AllowGet);
}
LetterList заполнен списком писем.
и я получаю результат в jquery Ajax, как это:
var CategoryClick= function(clicked_id) {
$.ajax({
type: "Post",
url: '/Main/RefreshTable',
data: { fld_id: clicked_id },
success: function (reutrnList) {
alert("success");
}
,
error: function () {
alert("Error");
}
});
}
в этом случае я получаю сообщение «Ошибка», хотя метод контроллера работает правильно. Но если я изменю метод Контроллера на это:
public JsonResult RefreshTable(int fld_id)
{
List<Referring> letterList = new List<Referring>();
using (WebECartableEntities dc = new WebECartableEntities())
{
var items= dc.Referrings.Where(u =>u.fld_Id == fld_id).ToList();
foreach (var item in items)
{
Referring reff = new Referring();
reff.ID = item.ID;
reff.SenderPosition = item.SenderPosition;
reff.Subject = item.Subject;
letterList.Add(reff);
}
}
var reutrnList = letterList;
return Json(reutrnList, JsonRequestBehavior.AllowGet);
}
Теперь все в порядке, и я получаю сообщение об успехе.
Может кто-нибудь сказать мне, почему это в первом методе. Я хочу иметь список одновременно и вернуть его в метод jjery Ajax. не создает список по одному.
Спасибо