it-swarm.dev

DropDownList في MVC 4 مع الشفرة

أحاول إنشاء 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 --"
)
124
user2232273
@{
   List<SelectListItem> listItems= new List<SelectListItem>();
   listItems.Add(new SelectListItem
        {
          Text = "Exemplo1",
          Value = "Exemplo1"
        });
   listItems.Add(new SelectListItem
        {
            Text = "Exemplo2",
            Value = "Exemplo2",
            Selected = true
        });
   listItems.Add(new SelectListItem
        {
            Text = "Exemplo3",
            Value = "Exemplo3"
        });
}

@Html.DropDownListFor(model => model.tipo, listItems, "-- Select Status --")
229
chridam
@{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"))
67
john Peralta

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

@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"}
    })  
39
Gabriel Simas

// ViewModel

public class RegisterViewModel
{

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

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

    public string StudentGrade { get; set; }

  }

// التعداد الدرجة:

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>
20
shuvo sarker

هنا أسهل إجابة:

في رأيك فقط فقط أضف:

@Html.DropDownListFor(model => model.tipo, new SelectList(new[]{"Exemplo1",
"Exemplo2", "Exemplo3"}))

أوفي وحدة التحكم الخاصة بك أضف:

var exemploList= new SelectList(new[] { "Exemplo1:", "Exemplo2", "Exemplo3" });
        ViewBag.ExemploList = exemploList;

وجهة نظرك فقط إضافة:

@Html.DropDownListFor(model => model.tipo, (SelectList)ViewBag.ExemploList )

لقد تعلمت هذا مع جيس تشادويك

10
Ayman

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

@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"}})
7
Bryan Legend

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

لكنني أبحث دائمًا عن أفضل الممارسات وأفضل طريقة أعرفها حتى الآن لمطوري الواجهة الأمامية والخلفية هي 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>

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

create أو get your list من البيانات من (...) في Action Action ووضعها في ViewModel أو ViewBag أو أيًا كان

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

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

<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>

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

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

7
Basheer AL-MOMANI
@{
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

6
Rameshbl

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

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>)

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

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>)
4
Jeetendra Negi

إذا كنت تستخدم ASP.net 5 (MVC 6) أو إصدارًا لاحقًا ، فيمكنك استخدام Tag Tagers الجديدة لبناء جملة Nice:

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

ويمكن أيضا أن يتم ذلك مثل

@model IEnumerable<ItemList>
<select id="dropdowntipo">
    <option value="0">Select Item</option>
    
    @{
      foreach(var item in Model)
      {
        <option value= "@item.Value">@item.DisplayText</option>
      }
    }

</select>
1
mut tony
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" })
0
Muhafil Saiyed