আমি বিশ্বাস করি এটি বেশ সহজ, আমি আমার মডেলটির মধ্যে থাকা কোনও তালিকার মধ্যে কোনও আইটেমের প্রদর্শনের নামটি দেখানোর সঠিক উপায় খুঁজে পাচ্ছি না।
আমার সরলীকৃত মডেল:
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; } }
}
এবং নাম:
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; }
}
এখন আমি কোনও ব্যক্তির সমস্ত নাম দেখানোর জন্য একটি টেবিল তৈরি করতে চাই এবং ফুল নেমটির জন্য প্রদর্শনের নামটি পাই। স্পষ্টতই,
@Html.DisplayNameFor(model => model.Names.FullName);
কাজ করবে না, এবং
@Html.DisplayNameFor(model => model.Names[0].FullName);
নাম না থাকলে ভেঙে যাবে এখানে প্রদর্শনের নামটি পাওয়ার জন্য কি কোনও 'সেরা উপায়' রয়েছে?
List<PersonNameViewModel>
আপনি একটি আছেIEnumerable<PersonNameViewModel>
, তাহলে এটি আরো নিরাপদ অভিব্যক্তি ব্যবহার করবেন তাmodel => model.Names.First().FullName
। এটা কি সঠিক? এটি বলেছিল, আমি মনে করি আমিdummyModel
তিনটির মধ্যে সেরাটি পছন্দ করি । অন্যথায়, আপনার বেশ কয়েকটি বৈশিষ্ট্য থাকতে পারে যেখানে আপনাকে টাইপ করতে বা আটকানো দরকারmodel.Names[0].
। তারপরে আবার, সম্ভবত আপনার বিভাগটিকে একটি আংশিক দৃশ্যে রিফ্যাক্টর করা উচিত যা গ্রহণ করেList
বাIEnumerable
এর মডেল হিসাবে।