C# 视图数据未传递到视图
我试图通过AJAX向控制器发送C# 视图数据未传递到视图,c#,asp.net-mvc,asp.net-mvc-4,razor,C#,Asp.net Mvc,Asp.net Mvc 4,Razor,我试图通过AJAX向控制器发送字符串,并在控制器返回的视图中使用它: Index.cshtml <div id="apts"></div> <script> $(document).ready(function(){ $.post("/Apt",{"Date": "05/29/2015"},function(response){ $("#apts").html(response); });
字符串,并在控制器返回的视图中使用它:
Index.cshtml
<div id="apts"></div>
<script>
$(document).ready(function(){
$.post("/Apt",{"Date": "05/29/2015"},function(response){
$("#apts").html(response);
});
});
</script>
@inherits System.Web.Mvc.WebViewPage
@using System.Web.Mvc
@using MySite.Models
@{
ViewPage VP = new ViewPage();
// error is here: Object reference not set to an instance of an object.
String date = VP.ViewData["Date"].ToString();
MySite.Models.DisplaySection DW = new DisplaySection(date);
}
@foreach(var a in DW.data)
{
<div>@a["name"]</div>
}
\u DisplaySection.cshtml
<div id="apts"></div>
<script>
$(document).ready(function(){
$.post("/Apt",{"Date": "05/29/2015"},function(response){
$("#apts").html(response);
});
});
</script>
@inherits System.Web.Mvc.WebViewPage
@using System.Web.Mvc
@using MySite.Models
@{
ViewPage VP = new ViewPage();
// error is here: Object reference not set to an instance of an object.
String date = VP.ViewData["Date"].ToString();
MySite.Models.DisplaySection DW = new DisplaySection(date);
}
@foreach(var a in DW.data)
{
<div>@a["name"]</div>
}
@继承System.Web.Mvc.WebViewPage
@使用System.Web.Mvc
@使用MySite.Models
@{
ViewPage VP=新建ViewPage();
//此处出现错误:对象引用未设置为对象的实例。
字符串日期=VP.ViewData[“日期”].ToString();
MySite.Models.DisplaySection DW=新的DisplaySection(日期);
}
@foreach(DW.data中的变量a)
{
@a[“名称”]
}
我遇到的错误出现在VP.ViewData[“Date”].ToString()
对象引用未设置为对象的实例
我搜索了错误,找到了几篇文章(,)。他们说我需要进行空检查,但按照控制器的设置方式,ViewData[“date”]永远不应该为空,我希望将该逻辑保留在控制器中
此外,我发现,但他们正在控制器中创建模型的实例,而不是视图
除了ViewData之外,还有更好的方法传递此字符串吗?如果没有,我如何修复此问题?请不要实例化视图页
,您的视图已从该类型隐式继承。尝试在视图中调用ViewData
属性,示例如下:
String date = ViewData["Date"].ToString();
如中所示,当您返回视图或partialView时,控制器将ViewData属性从控制器传递到view/partialView结果的ViewData属性