我试图发送一个String
控制器,通过AJAX,并且在将由控制器返回一个视图中使用它:的ViewData没有传递到浏览
Index.cshtml
<div id="apts"></div>
<script>
$(document).ready(function(){
$.post("/Apt",{"Date": "05/29/2015"},function(response){
$("#apts").html(response);
});
});
</script>
Controller.cs
...
public ActionResult Apt()
{
String date = DateTime.Today.ToString("MM/dd/yyyy");
if (!String.IsNullOrEmpty(Request.Form["Date"]))
{
date = Request.Form["Date"];
}
ViewData["Date"] = date;
return PartialView("~/Shared/_DisplaySection.cshtml");
}
_DisplaySe ction.cshtml
我得到的错误是在VP.ViewData["Date"].ToString()
,
对象引用不设置到对象的实例。
我搜索了错误,发现了一些文章(1,2)。他们说我需要做一个空检查,但控制器设置的方式ViewData [“date”]不应该为空,我想在Controller中保留这个逻辑。
此外,我发现this,但他们正在控制器中创建模型的实例,而不是视图。
除了ViewData之外,还有更好的方式来传递这个String吗?如果不是,我该如何解决这个问题?