Вы можете использовать модель представления со следующим свойством:
@Html.DisplayFor(x => x.AuthorizedAgentFirstName)
, а затем заставить контроллер выполнить необходимые тесты и заполнить свойство соответствующим образом:
public ActionResult Foo()
{
SomeModel model = ...
SomeViewModel vm = new SomeViewModel();
// TODO: refactor this part to a mapping layer. AutoMapper is
// a good tool for the job
if (model.AuthorizedAgent != null && model.AuthorizedAgent.Person != null)
{
vm.AuthorizedAgentFirstName = model.AuthorizedAgent.Person.FirstName;
}
return View(vm);
}
И чтобы предоставить альтернативный текст значения null, вы можете использовать атрибут DisplayFormat
:
[DisplayFormat(NullDisplayText = "EMPTY")]
public string AuthorizedAgentFirstName { get; set; }