با سلام و وقت بخیر خدمت همه دوستان عزیز من یک فرم دارم که می خوام کاربر اطلاعاتی را در این فرم ثبت کنه همین فرم الان روی اینترنت هست و مشکلی نداره فقط چند وقت پیش آمدم قسمتهایی را به سایتم اضافه کنم بعد متاسفانه این قسمت از سایت که دارای یک Dropdownlist هست دچار مشکل شده و هر کاری میکنم نمی تونم ایراد کار را پیدا کنم ممنون میشم راهنمایی کنید که کجای کارم ایراد داره لازم به ذکر هست که از روش Codefirst و با Asp.net Core سایت را طراحی کردم
کلاس استانهای سایت
و با کلاس که اطلاعات کالا را دریافت میکنه ارتباط داره طبق کد زیر
و در قسمت interface این کد را نوشتم
در قسمت سرویسها کدهایی زیر را نوشتم
و در کنترلر در قسمت get این کد را نوشتم
و در قسمت post کنترلر کدهای زیر را نوشتم
و در قسمت ویو از هر روشی پیش رفتم ولی دچار خطا میشم واقعا موندم که باید چیکار کنم برای رفع خطا
صفحه خطایی که نمایش میده بصورت زیر هست
خطایی که دارم
The ViewData item that has the key 'CityID' is of type 'System.Int32' but must be of type 'IEnumerable<SelectListItem>'
لازم به ذکر هست که باید بگوییم که از معماری سه لایه در طراحی سایت استفاده کردم
فکر میکنم بهتره برای بایند کردن اطلاعات به تگ Select از یه روش دیگه استفاده کنید.
ابتدا در کنترلر خودتون یک کوئری بنویسید و اطلاعاتی رو که می خواهید نمایش بدید در این کوئری نگهداری کنید. برای مثال به کوئری زیر دقت کنید :
List<Group> lstgrp = _context.Group.ToList();
Group mdl = new Group
{
GroupID = -1,
GroupDesc = "یک دسته را انتخاب کنید...",
};
lstgrp.Insert(0, mdl);
ViewBag.GroupList = lstgrp;
در کدهای بالا در خط اول یک کوئری اجرا شده که لیست گروهها رو در لیستی به نام lstgrp نگهداری میکنه. سپس برای اینکه اولین آیتم عبارت "یک دسته را انتخاب کنید" باشه این آیتم رو به لیست اضافه کردیم و در نهایت این لیست رو توسط یک ViewBag نگهداری کردیم تا به راحتی بتونیم داخل View از این لیست استفاده کنیم.
خب حالا داخل View و در قسمت بالا باید این List که اطلاعاتش درون یک ViewBag هست رو دریافت کنیم.
@{
List<Group> GroupList = ViewBag.GroupList;
}
بنابراین یک لیست جدید به نام GroupList ساختیم و اطلاعات درون ViewBag رو نگهداری کردیم.
خب حالا باید توسط یک تگ select اطلاعات رو نمایش بدیم.
<div class="form-group">
<label class="control-label">انتخاب گروه</label>
<select asp-items="@(new SelectList(GroupList,"GroupID","GroupDesc"))" class="form-control"></select>
</div>
در این تگ Select توسط asp-items میتونید اطلاعات رو از یک List به DropDownList خودتون بایند کنید و نمایش بدید.
تاریخ :
1404/01/26
- ساعت :
05:27:00 PM
- بازدید :
8
- پاسخ :
0
|
تاریخ :
1404/01/24
- ساعت :
07:09:00 AM
- بازدید :
57
- پاسخ :
0
|
تاریخ :
1402/04/28
- ساعت :
09:04:00 PM
- بازدید :
1334
- پاسخ :
0
|
تاریخ :
1403/12/01
- ساعت :
01:07:00 PM
- بازدید :
199
- پاسخ :
0
|
تاریخ :
1403/12/26
- ساعت :
03:04:00 PM
- بازدید :
88
- پاسخ :
1
|
تاریخ :
1403/12/23
- ساعت :
11:21:00 AM
- بازدید :
193
- پاسخ :
1
|
تاریخ :
1399/09/20
- ساعت :
01:21:00 PM
- بازدید :
6857
- پاسخ :
1
|
تاریخ :
1403/12/22
- ساعت :
11:05:00 AM
- بازدید :
232
- پاسخ :
1
|
تاریخ :
1403/12/19
- ساعت :
11:21:00 PM
- بازدید :
90
- پاسخ :
1
|
تاریخ :
1403/12/18
- ساعت :
07:24:00 PM
- بازدید :
143
- پاسخ :
1
|
تاریخ :
1404/01/26
- ساعت :
05:27:00 PM
- بازدید :
8
- پاسخ :
0
|
تاریخ :
1404/01/24
- ساعت :
07:09:00 AM
- بازدید :
57
- پاسخ :
0
|
تاریخ :
1404/01/25
- ساعت :
03:09:00 PM
- بازدید :
19
- پاسخ :
1
|
تاریخ :
1404/01/16
- ساعت :
07:20:00 PM
- بازدید :
194
- پاسخ :
1
|
تاریخ :
1404/01/07
- ساعت :
05:02:00 AM
- بازدید :
139
- پاسخ :
1
|
تاریخ :
1402/04/28
- ساعت :
09:04:00 PM
- بازدید :
1334
- پاسخ :
0
|
تاریخ :
1403/12/30
- ساعت :
06:43:00 PM
- بازدید :
100
- پاسخ :
1
|
تاریخ :
1398/08/23
- ساعت :
09:16:00 PM
- بازدید :
9898
- پاسخ :
1
|
تاریخ :
1404/01/03
- ساعت :
12:18:00 PM
- بازدید :
59
- پاسخ :
1
|
تاریخ :
1404/01/03
- ساعت :
10:39:00 AM
- بازدید :
61
- پاسخ :
1
|