Tôi tin rằng điều này khá đơn giản, dường như tôi không thể tìm ra cách phù hợp để hiển thị tên hiển thị cho một mục trong danh sách trong mô hình của mình.
Mô hình đơn giản của tôi:
public class PersonViewModel
{
public long ID { get; set; }
private List<PersonNameViewModel> names = new List<PersonNameViewModel>();
[Display(Name = "Names")]
public List<PersonNameViewModel> Names { get { return names; } set { names = value; } }
}
và Tên:
public class PersonNameViewModel
{
public long ID { get; set; }
[Display(Name = "Set Primary")]
public bool IsPrimary { get; set; }
[Display(Name = "Full Name")]
public string FullName { get; set; }
}
Bây giờ tôi muốn tạo một bảng để hiển thị tất cả tên của một người và lấy DisplayNameFor FullName. Chắc chắn,
@Html.DisplayNameFor(model => model.Names.FullName);
sẽ không hoạt động, và
@Html.DisplayNameFor(model => model.Names[0].FullName);
sẽ phá vỡ nếu không có tên. Có cách nào tốt nhất để lấy tên hiển thị ở đây không?
List<PersonNameViewModel>
bạn có mộtIEnumerable<PersonNameViewModel>
, thì cũng an toàn để sử dụng biểu thứcmodel => model.Names.First().FullName
. Điều này có chính xác? Điều đó nói rằng, tôi nghĩ tôi thíchdummyModel
ví dụ nhất trong ba người. Nếu không, bạn có thể có một số thuộc tính mà bạn cần nhập hoặc dánmodel.Names[0].
. Sau đó, một lần nữa, có thể bạn nên cấu trúc lại phần này thành một chế độ xem một phần chấp nhậnList
hoặcIEnumerable
như mô hình của nó.