Jawaban:
Lihat artikel MSDN ini dan contoh penggunaan di sini di Stack Overflow .
Katakanlah Anda memiliki kelas Linq / POCO berikut:
public class Color
{
public int ColorId { get; set; }
public string Name { get; set; }
}
Dan katakanlah Anda memiliki model berikut:
public class PageModel
{
public int MyColorId { get; set; }
}
Dan, akhirnya, katakanlah Anda memiliki daftar warna berikut. Mereka bisa datang dari permintaan Linq, dari daftar statis, dll .:
public static IEnumerable<Color> Colors = new List<Color> {
new Color {
ColorId = 1,
Name = "Red"
},
new Color {
ColorId = 2,
Name = "Blue"
}
};
Dalam pandangan Anda, Anda dapat membuat daftar tarik turun seperti:
<%= Html.DropDownListFor(n => n.MyColorId,
new SelectList(Colors, "ColorId", "Name")) %>
<%:
Html.DropDownListFor(
model => model.Color,
new SelectList(
new List<Object>{
new { value = 0 , text = "Red" },
new { value = 1 , text = "Blue" },
new { value = 2 , text = "Green"}
},
"value",
"text",
Model.Color
)
)
%>
atau Anda dapat menulis tanpa kelas, letakkan sesuatu seperti ini langsung ke tampilan.
Hindari banyak main-main dengan memulai dengan Kamus dalam Model
namespace EzPL8.Models
{
public class MyEggs
{
public Dictionary<int, string> Egg { get; set; }
public MyEggs()
{
Egg = new Dictionary<int, string>()
{
{ 0, "No Preference"},
{ 1, "I hate eggs"},
{ 2, "Over Easy"},
{ 3, "Sunny Side Up"},
{ 4, "Scrambled"},
{ 5, "Hard Boiled"},
{ 6, "Eggs Benedict"}
};
}
}
Dalam Lihat, konversikan ke daftar untuk ditampilkan
@Html.DropDownListFor(m => m.Egg.Keys,
new SelectList(
Model.Egg,
"Key",
"Value"))
Hai di sini adalah bagaimana saya melakukannya dalam satu Proyek:
@Html.DropDownListFor(model => model.MyOption,
new List<SelectListItem> {
new SelectListItem { Value = "0" , Text = "Option A" },
new SelectListItem { Value = "1" , Text = "Option B" },
new SelectListItem { Value = "2" , Text = "Option C" }
},
new { @class="myselect"})
Saya harap ini membantu Seseorang. Terima kasih
Atau jika itu dari konteks basis data yang dapat Anda gunakan
@Html.DropDownListFor(model => model.MyOption, db.MyOptions.Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }))
Dengan "Silakan pilih satu Item"
@Html.DropDownListFor(model => model.ContentManagement_Send_Section,
new List<SelectListItem> { 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" })
Berasal dari kode: Master Programmer && Joel Wahlund ;
Referensi Raja: https://stackoverflow.com/a/1528193/1395101 JaredPar ;
Terima kasih Programmer Utama && Joel Wahlund && JaredPar ;
Semoga beruntung kawan.
@using (Html.BeginForm()) {
<p>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")
</p>
<input type = "submit" value = "Submit my answer" />
}
Saya pikir jawaban ini mirip dengan Berat, di mana Anda meletakkan semua kode untuk DropDownList Anda secara langsung dalam tampilan. Tapi saya pikir ini adalah cara yang efisien untuk membuat daftar drop-down ay / n (boolean), jadi saya ingin membagikannya.
Beberapa catatan untuk pemula:
Semoga ini bisa membantu seseorang,