Я использую ASP.NET MVC и C # для вставки объекта (класс модели POCO) в базу данных.Запрос и ответ обрабатываются JQuery AJAX.
Ответ является строго типизированным частичным представлением, которое отображает данные объекта.HTML-код из частичного представления затем добавляется к веб-странице.
Класс объекта (класс Project) содержит виртуальный объект (класс Status), который имеет дополнительные свойства, которые также должны быть возвращены.
Проблема, с которой я столкнулся, заключается в том, что виртуальный объект (Status) возвращается как ноль при обработке 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; }
}
Поэтому мой вопрос заключается в том, как получить статус проекта, чтобы он не возвращал ноль при обработке AJAX?