Javascript 使用新数据对控制器进行Ajax调用后,网页未更新
我是MVC新手,我正在创建一个post方法,在jquery中选择日期选择器后显示新数据。jquery方法正在工作,我可以循环查看视图中的新数据,但它不会显示在浏览器中。这是我的发帖方法Javascript 使用新数据对控制器进行Ajax调用后,网页未更新,javascript,c#,jquery,ajax,asp.net-mvc,Javascript,C#,Jquery,Ajax,Asp.net Mvc,我是MVC新手,我正在创建一个post方法,在jquery中选择日期选择器后显示新数据。jquery方法正在工作,我可以循环查看视图中的新数据,但它不会显示在浏览器中。这是我的发帖方法 [HttpPost] public ActionResult Birthdays(DateTime? pickedDate = null) { if (pickedDate == null) { startDate = DateTime.Now; } else
[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();
}
[HttpPost]
public ActionResult生日(DateTime?pickedDate=null)
{
if(pickeDate==null)
{
startDate=日期时间。现在;
}
其他的
{
startDate=(DateTime)pickedDate;
}
ModelState.Clear();
List birthdayList=db.OKSwingMemberLists.ToList();
ViewBag.birthDayList=birthDayList.Where(b=>b.birthdimount==startDate.Month.ToString()).Where(a=>a.周年>DateTime.Now).OrderBy(o=>o.LastName);
返回视图();
}
Viewbag仅在页面加载时加载(在服务器上),ajax设计用于客户端呈现。您需要通过json而不是Viewbag传回数据:
比如:
birthdayList = birthdayList.Where(b => b.BirthMonth == startDate.Month.ToString()).Where(a => a.Anniversary > DateTime.Now).OrderBy(o => o.LastName))
return Json(new {BirthdayList = birthdayList});
success: function (data) {
var bithdayList = data.BirthdayList;
//do your stuff
}
然后在js中通过以下方式访问它:
birthdayList = birthdayList.Where(b => b.BirthMonth == startDate.Month.ToString()).Where(a => a.Anniversary > DateTime.Now).OrderBy(o => o.LastName))
return Json(new {BirthdayList = birthdayList});
success: function (data) {
var bithdayList = data.BirthdayList;
//do your stuff
}
我要试试看。谢谢你…还有很多东西要学。