c# code DropDownList في MVC 4 مع الحلاقة




asp net code (9)

أحاول إنشاء DropDownList على طريقة عرض الحلاقة.

هل هناك من يساعدني في هذا؟

رمز HTML5 العادي:

<select id="dropdowntipo">
    <option value="Exemplo1">Exemplo1</option>
    <option value="Exemplo2">Exemplo2</option>
    <option value="Exemplo3">Exemplo3</option>
</select>

جربت هذا:

@{
    var listItems = new List<ListItem> { 
        new ListItem { Text = "Exemplo1", Value = "Exemplo1" }, 
        new ListItem { Text = "Exemplo2", Value = "Exemplo2" }, 
        new ListItem { Text = "Exemplo3", Value = "Exemplo3" } 
    };
}

@Html.DropDownListFor(model => 
    model.tipo, 
    new SelectList(listItems), 
    "-- Select Status --"
)

Answer #1

استخدام صفيف سيكون أكثر كفاءة من إنشاء قائمة.

@Html.DropDownListFor(x => x.Tipo, new SelectListItem[]{
                new SelectListItem() {Text = "Exemplo1", Value="Exemplo1"},
                new SelectListItem() {Text = "Exemplo2", Value="Exemplo2"},
                new SelectListItem() {Text = "Exemplo3", Value="Exemplo3"}})

Answer #2
@{var listItems = new List<ListItem>
    {
          new ListItem { Text = "Exemplo1", Value="Exemplo1" },
          new ListItem { Text = "Exemplo2", Value="Exemplo2" },
          new ListItem { Text = "Exemplo3", Value="Exemplo3" }
    };
    }
        @Html.DropDownList("Exemplo",new SelectList(listItems,"Value","Text"))

Answer #3

إذا كنت تستخدم ASP.net 5 (MVC 6) أو أحدث ، فيمكنك استخدام " Tag Helpers" الجديدة لبناء جملة لطيفة جدًا:

<select asp-for="tipo">
    <option value="Exemplo1">Exemplo1</option>
    <option value="Exemplo2">Exemplo2</option>
    <option value="Exemplo3">Exemplo3</option>
</select>

Answer #4

فقط استخدم هذا

public ActionResult LoadCountries()
{
     List<SelectListItem> li = new List<SelectListItem>();
     li.Add(new SelectListItem { Text = "Select", Value = "0" });
     li.Add(new SelectListItem { Text = "India", Value = "1" });
     li.Add(new SelectListItem { Text = "Srilanka", Value = "2" });
     li.Add(new SelectListItem { Text = "China", Value = "3" });
     li.Add(new SelectListItem { Text = "Austrila", Value = "4" });
     li.Add(new SelectListItem { Text = "USA", Value = "5" });
     li.Add(new SelectListItem { Text = "UK", Value = "6" });
     ViewData["country"] = li;
     return View();
}

وفي عرض استخدام التالي.

 @Html.DropDownList("Country", ViewData["country"] as List<SelectListItem>)

إذا كنت ترغب في الحصول على البيانات من Dataset وقم بملء هذه البيانات في مربع قائمة ، استخدم التعليمة البرمجية التالية.

List<SelectListItem> li= new List<SelectListItem>();
for (int rows = 0; rows <= ds.Tables[0].Rows.Count - 1; rows++)
{
    li.Add(new SelectListItem { Text = ds.Tables[0].Rows[rows][1].ToString(), Value = ds.Tables[0].Rows[rows][0].ToString() });
}
ViewData["FeedBack"] = li;
return View();

وفي عرض كتابة التعليمات البرمجية التالية.

@Html.DropDownList("FeedBack", ViewData["FeedBack"] as List<SelectListItem>)

Answer #5

صدقني لقد حاولت الكثير من الخيارات للقيام بذلك ولدي جواب هنا

لكنني دائمًا أبحث عن أفضل الممارسات

وأفضل طريقة أعرفها حتى الآن لمطوري الواجهة الأمامية والخلفية هي for loop (نعم أنا لا أمزح)

لأنه عندما يعطيك الواجهة الأمامية صفحات واجهة المستخدم مع بيانات وهمية ، فإنه أضاف أيضًا فئات وبعض الأنماط المضمنة على خيار تحديد محدد ، لذا hard to deal مع ذلك باستخدام HtmlHelper

نلقي نظرة على هذا

<select class="input-lg" style="">
    <option value="0" style="color:#ccc !important;"> Please select the membership name to be searched for </option>
    <option value="1">11</option>
    <option value="2">22</option>
    <option value="3">33</option>
    <option value="4">44</option>
</select>

هذا من المطور الأمامي حتى الحل الأفضل هو استخدام الحلقة

create أو get your list البيانات get your list من (...) في إجراء وحدة التحكم ووضعها في ViewModel أو ViewBag أو أي شيء

ViewBag.MembershipList = await _membershipAppService.GetAllMemberships();// this returns object that contain Items and TotolCount

ثانيًا في طريقة العرض ، يمكنك إجراء هذا الحل البسيط من أجل ملء القائمة المنسدلة

<select class="input-lg" name="PrerequisiteMembershipId" id="PrerequisiteMembershipId">
    <option value="" style="color:#ccc !important;"> Please select the membership name to be searched for </option>
    @foreach (var item in ViewBag.MembershipList.Items)
    {
        <option value="@item.Id" @(Model.PrerequisiteMembershipId == item.Id ? "selected" : "")>@item.Name</option>
    }
</select>

بهذه الطريقة لن تكسر واجهة المستخدم ، وتصميمها البسيط والسهل والقابل للقراءة

آمل أن يساعدك هذا حتى لو لم تستخدم الشفرة


Answer #6

List<tblstatu> status = new List<tblstatu>();
            status = psobj.getstatus();
            model.statuslist = status;
            model.statusid = status.Select(x => new SelectListItem
            {
                Value = x.StatusId.ToString(),
                Text = x.StatusName
            });


  @Html.DropDownListFor(m => m.status_id, Model.statusid, "Select", new { @class = "form-control input-xlarge required", @type = "text", @autocomplete = "off" })


Answer #7

// ViewModel

public class RegisterViewModel
{

    public RegisterViewModel()
    {
        ActionsList = new List<SelectListItem>();
    }

    public IEnumerable<SelectListItem> ActionsList { get; set; }

    public string StudentGrade { get; set; }

  }

// Enum Class:

public enum GradeTypes
{
    A,
    B,
    C,
    D,
    E,
    F,
    G,
    H
}

// مراقب العمل

 public ActionResult Student()
    {
RegisterViewModel vm = new RegisterViewModel();
IEnumerable<GradeTypes> actionTypes = Enum.GetValues(typeof(GradeTypes))
                                             .Cast<GradeTypes>();
        vm.ActionsList = from action in actionTypes
                         select new SelectListItem
                         {
                             Text = action.ToString(),
                             Value = action.ToString()
                         };
        return View(vm);
    }

// عرض العمل

 <div class="form-group">
                                <label class="col-lg-2 control-label" for="hobies">Student Grade:</label>
                                <div class="col-lg-10">
                                   @Html.DropDownListFor(model => model.StudentGrade, Model.ActionsList, new { @class = "form-control" })
                                </div>

Answer #8

يمكنك استخدام هذا:

@Html.DropDownListFor(x => x.Tipo, new List<SelectListItem>
    {
                        new SelectListItem() {Text = "Exemplo1", Value="Exemplo1"},
                        new SelectListItem() {Text = "Exemplo2", Value="Exemplo2"},
                        new SelectListItem() {Text = "Exemplo3", Value="Exemplo3"}
    })  

Answer #9
@{
List<SelectListItem> listItems= new List<SelectListItem>();
listItems.Add(new SelectListItem
    {
      Text = "One",
      Value = "1"
    });
listItems.Add(new SelectListItem
    {
        Text = "Two",
        Value = "2",
    });
listItems.Add(new SelectListItem
    {
        Text = "Three",
        Value = "3"
    });
listItems.Add(new SelectListItem
{
   Text = "Four",
   Value = "4"
});
listItems.Add(new SelectListItem
{
   Text = "Five",
   Value = "5"
});
}
@Html.DropDownList("DDlDemo",new SelectList(listItems,"Value","Text"))

راجع: - قم بإنشاء قائمة منسدلة في مثال MVC 4 الحلاقة





razor