Html BeginForm dropdownlist

Trong ASP.NET MVC 2, tôi muốn viết một danh sách thả xuống rất đơn giản cung cấp các tùy chọn tĩnh. Ví dụ: tôi muốn cung cấp các lựa chọn giữa "Đỏ", "Xanh lam" và "Xanh lục".

Xem bài viết MSDN này và sử dụng ví dụ ở đây trên Stack Overflow .

Giả sử bạn có lớp Linq / POCO sau: public class Color{    public int ColorId { get; set; }    public string Name { get; set; }}

Và hãy nói rằng bạn có mô hình sau: public class PageModel {   public int MyColorId { get; set; }}

Và cuối cùng, hãy nói rằng bạn có danh sách các màu sau đây. Họ có thể đến từ một truy vấn Linq, từ một danh sách tĩnh, v.v.: public static IEnumerable Colors = new List { new Color {        ColorId = 1,        Name = "Red"    },    new Color {        ColorId = 2,        Name = "Blue"    }};

Theo quan điểm của bạn, bạn có thể tạo một danh sách thả xuống như vậy: n.MyColorId, new SelectList[Colors, "ColorId", "Name"]] %>

model.Color, new SelectList[                  new List{ new { value = 0 , text = "Red"  },                       new { value = 1 , text = "Blue" },                       new { value = 2 , text = "Green"}                    },                  "value",                  "text",                   Model.Color           ]        ]%>

hoặc bạn có thể viết không có lớp, đặt một cái gì đó như thế này trực tiếp để xem.

Tránh nhiều ngón tay mập bằng cách bắt đầu với Từ điển trong Mô hình namespace EzPL8.Models{    public class MyEggs    {        public Dictionary Egg { get; set; } public MyEggs[]        {            Egg = new Dictionary[]            {                { 0, "No Preference"},                { 1, "I hate eggs"},                { 2, "Over Easy"},                { 3, "Sunny Side Up"},                { 4, "Scrambled"},                { 5, "Hard Boiled"},                { 6, "Eggs Benedict"}            }; } }

Trong phần Xem, chuyển đổi nó thành một danh sách để hiển thị @Html.DropDownListFor[m => m.Egg.Keys,                         new SelectList[                             Model.Egg, "Key", "Value"]]

Xin chào, đây là cách tôi đã thực hiện trong một Dự án:      @Html.DropDownListFor[model => model.MyOption, new List { new SelectListItem { Value = "0" , Text = "Option A" },                       new SelectListItem { Value = "1" , Text = "Option B" },                       new SelectListItem { Value = "2" , Text = "Option C" }                    },                  new { @class="myselect"}]

Tôi hy vọng nó sẽ giúp được ai đó. Cảm ơn

Hoặc nếu đó là từ bối cảnh cơ sở dữ liệu bạn có thể sử dụng  @Html.DropDownListFor[model => model.MyOption, db.MyOptions.Select[x => new SelectListItem { Text = x.Name, Value = x.Id.ToString[] }]]

Với "Vui lòng chọn một mục"  @Html.DropDownListFor[model => model.ContentManagement_Send_Section,  new List { new SelectListItem { Value = "0", Text = "Plese Select one Item" } }    .Concat[db.NameOfPaperSections.Select[x => new SelectListItem { Text = x.NameOfPaperSection, Value = x.PaperSectionID.ToString[] }]],  new { @class = "myselect" }]

Bắt nguồn từ các mã: Lập trình viên chính && Joel Wahlund ;
Tham khảo về vua: //stackoverflow.com/a/1528193/1395101  JaredPar ;

Cảm ơn Lập trình viên chính && Joel Wahlund && JaredPar ;

Chúc các bạn may mắn.

@using [Html.BeginForm[]] {    

Do you like pizza?        @Html.DropDownListFor[x => x.likesPizza, new[] {            new SelectListItem[] {Text = "Yes", Value = bool.TrueString},            new SelectListItem[] {Text = "No", Value = bool.FalseString}        }, "Choose an option"]

   }

Tôi nghĩ rằng câu trả lời này tương tự như của Berat, ở chỗ bạn đặt tất cả mã cho DropDownList của bạn trực tiếp trong chế độ xem. Nhưng tôi nghĩ rằng đây là một cách hiệu quả để tạo danh sách thả xuống ay / n [boolean], vì vậy tôi muốn chia sẻ nó.

Một số lưu ý cho người mới bắt đầu:

  • Đừng lo lắng về cái gọi là 'x' - lần đầu tiên nó được tạo ở đây và không liên kết với bất kỳ nơi nào khác trong ứng dụng MVC, vì vậy bạn có thể gọi nó là những gì bạn muốn - 'x', 'mô hình', 'm', v.v.
  • Trình giữ chỗ mà người dùng sẽ thấy trong danh sách thả xuống là "Chọn tùy chọn", vì vậy bạn có thể thay đổi tùy chọn này nếu muốn.
  • Có một chút văn bản trước phần thả xuống có nội dung "Bạn có thích pizza không?"
  • Đây phải là văn bản hoàn chỉnh cho một biểu mẫu, bao gồm cả nút gửi, tôi nghĩ

Hy vọng điều này sẽ giúp ai đó,

Video liên quan

Chủ Đề