У меня есть простой метод Контроллера, который принимает Id и ComplexObject
опционально.
Я ввожу этот метод с параметром id
через URL (ниже указан код за URL), но когда яустановка точки останова внутри этого метода, тогда optionalFormData
не является нулевым, но вместо этого это FormData
экземпляр со всем (FirstName
, SecondName
, File
), за исключением Id
(Guid), равным нулю.
Я хочу, чтобы значение optionalFormData
было нулевым, если оно не отправлено, а не является экземпляром FormData
со null
значениями свойств.
Псевдокод:
public IActionResult MyView(Guid? id, FormData optionalFormData = null)
{
if (optionalFormData != null)
{
return View(optionalFormData);
}
return View(_context.Data.FirstOrDefault(x => x.Id == id.Value));
}
public class FormData
{
public Guid Id { get; set; }
public string FirstName { get; set; }
public string SecondName { get; set; }
public File File { get; set; }
}
@Html.ActionLink("Enter MyView", "MyView", "MyController", new { id = Model?.Id })
Я пытался сделать FormData? optionalFormData
, но это требует C # 8.0
Как я могу сделать это в 7.x?