2017-01-24 13 views
0

MVCが新しく、jqueryのdatepicker選択の後に新しいデータを表示するポストメソッドを作成していました。 jqueryメソッドが動作していて、ビューの新しいデータをループすることができますが、ブラウザに表示されません。ここに私のpostメソッドがあります。新しいデータでコントローラにAjaxを呼び出した後にWebページが更新されない

[HttpPost] 
public ActionResult Birthdays(DateTime? pickedDate = null) 
{ 
    if (pickedDate == null) 
    { 
     startDate = DateTime.Now; 
    } 
    else 
    { 
     startDate = (DateTime)pickedDate; 
    } 
    ModelState.Clear(); 
    List<OKSwingMemberList> birthdayList = db.OKSwingMemberLists.ToList(); 
    ViewBag.birthDayList = birthdayList.Where(b => b.BirthMonth == startDate.Month.ToString()).Where(a => a.Anniversary > DateTime.Now).OrderBy(o => o.LastName); 
    return View(); 
} 

答えて

0

Viewbagはページロード時(サーバー上)にのみロードされ、ajaxはクライアント側のレンダリング用に設計されています。

何かのように:

birthdayList = birthdayList.Where(b => b.BirthMonth == startDate.Month.ToString()).Where(a => a.Anniversary > DateTime.Now).OrderBy(o => o.LastName)) 
return Json(new {BirthdayList = birthdayList}); 

そしてようなものでjsの中でそれにアクセス:

success: function (data) { 
    var bithdayList = data.BirthdayList; 
    //do your stuff 
} 
+0

私は」あなたはViewbag JSON経由の代わりにあなたのデータをバック渡す必要があります私はそれを試してみるつもりです。ありがとうございます...まだ多くのことを学んでいます。 – tubust

関連する問題