nasıl iç içe bir modelde DisplayNameFor
erişebilirim iç içe bir modelde DisplayNameFor erişmek nasıl - yani .:Eğer
public class Invoice
{
public int InvoiceId { get; set; }
public string CustomerName { get; set; }
public string Contact { get; set; }
public IList<InvoiceItem> InvoiceItems { get; set; }
}
public class InvoiceItem
{
public int InvoiceItemId { get; set; }
public int InvoiceId { get; set; }
[Display(Name = "Item Heading")]
public string Item { get; set; }
[Display(Name = "Item Description")]
public string Description { get; set; }
public virtual Invoice Invoice { get; set; }
}
Ben iç içe öğeler arasında döngü aşağıdaki gibi:
@foreach (var item in Model.InvoiceItems)
{
@Html.DisplayFor(modelItem => item.Item)
<br />
@Html.DisplayFor(modelItem => item.Description)
<br />
}
Ama nasıl gidebilirim: [Display(Name = "Item Heading")]
@Html.DisplayNameFor(modelItem => modelItem.Item)
hatayı alıyorum: 'inv5.Models.Invoice' does not contain a definition for 'Item' and no extension method 'Item' accepting a first argument of type 'inv5.Models.Invoice' could be found
Teşekkürler, Mark
Burada döngü içindeitem
erişiyorsunuz
Vay be, ben :))) dürüstçe birkaç dakika için ona bakıyordu, bunu hiç fark ederdi –
Hi - point takere isimleri - ancak ben döngü girmeden önce DisplayNameFor göstermek istiyorum. Şu anda önerildiği gibi değiştirirseniz, "Ad 'öğesi' geçerli bağlamda mevcut değil" - teşekkürler, Mark – Mark
@ fixit: Döngü bağlamının dışında, tamamen farklı bir hikaye. ModelItem.InvoiceItems.First(). Item' gibi bir şeyi deneyebilirsiniz. _Might_, 'DisplayNameFor' aslında nasıl çalıştığına bağlı olarak liste boşsa bir istisna atar. (İçine hiç bakmadım.) – David