ASP.NET MVC AJAX 模型的虚拟对象为空



我正在使用ASP。NET MVC和c#将对象(POCO模型类)插入到数据库中。请求和响应由JQuery AJAX处理。

响应是一个显示对象数据的强类型部分视图。部分视图中的html随后被附加到网页中。

对象类(项目类)包含一个虚拟对象(状态类),它有更多应该返回的属性。

我遇到的问题是,虚拟对象(状态)返回null时,由AJAX处理。但是,如果禁用AJAX,回发将显示正确的虚拟对象数据。

不确定它是否会有很大帮助,但这里是我的部分代码。

控制器动作

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; }
}

所以我的问题是如何让项目状态不返回null时,由AJAX处理?

我忘记在GetProjectByGuid方法中"包含"虚拟状态。

最新更新