القائمة المنسدلة ASP.NET MVC مع خيار فارغ افتراضي
-
21-08-2019 - |
سؤال
هل هناك طريقة لتضمين خيار فارغ افتراضي (أو مع نص) إذا لم تكن هناك قيمة محددة لقائمة منسدلة؟
المحلول
وأدناه سوف إلحاقها string.Empty إلى SelectList (أو IEnumerable) المحددة في ViewData [ "القائمة"] البند. وحدد سوف يكون معرف واسم MenuID
.
<%= Html.DropDownList( "MenuID",
(IEnumerable<SelectListItem>)ViewData["Menu"],
string.Empty ) %>
وثائق: دروبدوونليست طريقة
نصائح أخرى
على سبيل المثال:
Controller :
private void InitScreenInfoCollate()
{
IEnumerable<MstBrd> listbrd = ibrandRepository.GetItemsByUsercode("");
ViewBag.Brands = new SelectList(listbrd, "brd_cod", "brd_mei", null);
}
View :
@Html.DropDownList("Brands", null, string.Empty, new { @class = "form-control"})
نتيجة :
نجح هذا الحل السهل في مشروعي mvc5:
في رؤيه:
@{
Model.ModelItemsList.Add(new ModelItem{ });
SelectList modelItemSelectList = new SelectList(Model.ModelItemsList, "ModelItemID", "ModelItemName");
}
فقط قم بإضافة عنصر جديد إلى List<>
تريد عرضه في طريقة العرض الخاصة بك.في حالتي، أضفت "ModelItem" فارغًا إلى ملفي List<ModelItem> ModelItemList
.نظرًا لأن ModelItemID الخاص بي عبارة عن Guid، فقد اضطررت إلى التحقق من وجود Guid.Empty في طريقة التحكم الخاصة بي وتنفيذ بعض التعليمات البرمجية.هذا كل شئ.
والحل المعروضة هنا عملت بشكل جيد للغاية بالنسبة لي: HTTP: //forums.asp. صافي / ر / 1142484.aspx / 1
والفكرة الأساسية هي أن تقوم بتعيين الخاصية AppendDataBoundItems
من DropDownList
لtrue
ثم وضع asp:ListItem
في DropDownList
والتي ستصبح العنصر الافتراضي الخاص بك مع جميع البنود ربط بيانات القادمة بعد ذلك.