سلام
یه کلاس دارم به شکل زیر:
public class Save_Word_And_Icon { public string ppp = "1111"; public string ttt = "2"; }
به صورت یک لیست تعریفش کردم و پاسش دادم تووی View .
این رو هم بگم: در حال حاضر از مدل چند لیستی تووی ویو استفاده کردم و این لیست هم جزو همون لیستاس.
چطوری میتونم تووی ویو ازش استفاده کنم؟
سوالتون واضح نیست دوست من لطفا بیشتر توضیح بدید.
- ببین یه مدل دارم.
- تووش یه کلاس درست کردم.
- کلاسه یه سری رشته داره که هر کدوم مقدار ثابت دارن.
- میخوام تووی یه ویو از این کلاس استفاده کنم.
1- مدلش از چه نوعی هست؟ ienumerable هست یا ساده.
2- چطوری از داده های کلاس استفاده کنم؟
نکته:
- خودم به صورت لیست پاسش دادم تووی ویو. ولی موقع استفاده از foreach پیغام null میبینم. در صورتی که مقادیر ثابت کلاس تووی مدل تعریف کردم.
- در حال حاضر دارم از یه مدل غیر IEnumerable استفاده میکنم تووی ویو. اگر قرار هست که Ienumerable باشه بایستی چکار کنم برای اون یکی مدل!
لطفا model , view , action مورد نظر رو قرار بدید.
این خلاصه قسمتی از Model :
public class CopyRight { public string Pnumber { get; set; } } public class Save_Word { /*کلمات*/ public string BasketBuy = "سبد خرید"; } public class CustomModel { public List<CopyRight> CopyRight { get; set; } public List<Save_Word> Save_Word { get; set; } }
این هم خلاصه اکشنم هست:
[HttpGet] public ActionResult Index() { List<CopyRight> CopyRight_list = new List<CopyRight>(); while (CopyRight_rdr.Read()) { CopyRight_list.Add(new CopyRight { Pnumber = (string)CopyRight_rdr.GetValue(CopyRight_rdr.GetOrdinal("Pnumber")), }); } List<Save_Word> Save_Word_list = new List<Save_Word>(); return View(new CustomModel { CopyRight = CopyRight_list, Save_Word = Save_Word_list }); }
اینم مدلی هست که تووی View فراخوانی کردم:
@model pppp.Areas.SharedModel.Models.CustomModel
از Foreach هم برای استفاده هر دو کلاس استفاده کردم.
برای کلاس copyright که از دیتابیس میاد مشکلی ندارم
اما برای save_word که مقادیر ثابت داره به مشکل خوردم. از foreach که استفاده میکنم error میده که لیست شما خالی است.
البته بدون اینکه Save_Word_List رو از طریق اکشن بسازم و پاس بدم به ویو هم استفاده کردم. یعنی مستقیم کلاس رو از مدل فراخوانی کردم.
وقتی لیست شما خالی باشه و هیچ item درونش اضافه نشده باشه شما نمیتونید به مقادیر ثابتی که تعریف کردید دسترسی پیدا کنید. کار شما صحیح نیست و برای استفاده از مقادیر ثابت باید یک کلاس استاتیک جداگانه بسازید و مقادیر ثاب را درون آن قرار بدید و هر زمان که به آن نیاز داشتید به صورت مستقیم از آن استفاده کنید. این نوع کلاس های در اکثر فریم ورک ها دیده میشه و اسم اون ها با constants تمام میشه.
ممنونم
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)