C# ASP.NET MVC AJAX模型&x27;的虚拟对象为空
我使用ASP.NET MVC和C#将对象(POCO模型类)插入数据库。请求和响应由jqueryajax处理 响应是一个显示对象数据的强类型局部视图。然后将部分视图中的html附加到web页面 对象类(项目类)包含一个虚拟对象(状态类),该虚拟对象具有更多也应返回的属性 我遇到的问题是,当由AJAX处理时,虚拟对象(状态)返回为null。但是,如果禁用AJAX,回发将显示正确的虚拟对象数据 不确定它是否会有多大帮助,但下面是我代码的一部分 控制器动作C# ASP.NET MVC AJAX模型&x27;的虚拟对象为空,c#,asp.net,asp.net-mvc,ajax,C#,Asp.net,Asp.net Mvc,Ajax,我使用ASP.NET MVC和C#将对象(POCO模型类)插入数据库。请求和响应由jqueryajax处理 响应是一个显示对象数据的强类型局部视图。然后将部分视图中的html附加到web页面 对象类(项目类)包含一个虚拟对象(状态类),该虚拟对象具有更多也应返回的属性 我遇到的问题是,当由AJAX处理时,虚拟对象(状态)返回为null。但是,如果禁用AJAX,回发将显示正确的虚拟对象数据 不确定它是否会有多大帮助,但下面是我代码的一部分 控制器动作 public ActionResult Add
public ActionResult AddProject(UpdateProjectModel model)
{
System.Guid guid = System.Guid.NewGuid();
var project = new Project
{
Guid = guid.ToString(),
JobNumber = model.JobNumber,
Title = model.Title,
Client = model.Client,
Details = model.Details,
StatusID = model.StatusID,
LastModified = DateTime.Now
};
_projectService.AddProject(project);
if (Request.IsAjaxRequest())
{
var newProject = _projectService.GetProjectByGuid(project.Guid);
return PartialView("Project", newProject);
}
else
{
return RedirectToAction("Index");
}
}
项目类
public class Project
{
[Key]
public int ProjectID { get; set; }
public string Guid { get; set; }
public string JobNumber { get; set; }
public string Title { get; set; }
public string Client { get; set; }
public string Details { get; set; }
public int StatusID { get; set; }
public DateTime LastModified { get; set; }
public virtual Status Status { get; set; }
}
地位等级
public class Status
{
[Key]
public int StatusID { get; set; }
public string StatusText { get; set; }
}
因此,我的问题是如何让项目状态在由AJAX处理时不返回null?我忘记了在GetProjectByGuid方法中“包含”虚拟状态。现在可以了。您是否尝试过显式设置项目类的Status属性?类似于:if(Request.IsAjaxRequest()){var newProject=newProject{Status=newstatus{StatusText=“Testing”};返回PartialView(“Project”,newProject);}以确保它不是您的_projectService.GetProjectByGuid(Project.Guid);这不是设置吗?只是注意到我忘了在GetProjectByGuid方法中“包含”虚拟状态!现在可以了。太好了,你能删除你自己的问题吗?谢谢你。你已经解决了这个问题。请将此标记为“答案”,以便此问题不再出现在未回答的列表中。:)