我試圖發送一個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嗎?如果不是,我該如何解決這個問題?