1

私はこれを持っています:

<div class="editor-field">
        <%: Html.DropDownListFor(m => m.Language, new SelectList(new[] { "string1", "string2", "string3", "string4" }, "string1"))%>
</div>

文字列にいくつかの値を持たせたい。例、string1、value = 1、string2:value = 2など。これを行う方法は?

4

2 に答える 2

2

使用するだけ

new List<SelectListItem>(){ new SelectListItem{Text="item1", Value = "valuer1", ... }

またはSelectListを使用しますが、カスタムオブジェクトのDictionaryまたはList<>を渡します。

于 2012-06-05T10:31:59.510 に答える
0

静的バインディング

public class HomeController : Controller
    {
        public ActionResult Index()
        {
            ViewBag.Message = "Welcome to the Training Courses...";
            List objcourses = new List();
            objcourses.Add("Asp.Net");
            objcourses.Add("MVC");
            objcourses.Add("WCF");
            objcourses.Add("WPF");
            objcourses.Add("C#.Net");
            ViewBag.Courses = new SelectList(objcourses);
            return View();
        }
    }

@{
ViewBag.Title = "Home Page";
}
Index
@using(@Html.BeginForm(“Index”,”Home”,FormMethod.Get)) {
Courses List; @Html.DropDownList(“Courses“)
}

動的バインディング

public class HomeController : Controller
    {
        public ActionResult Index()
        {
            private MovieDBContext db = new MovieDBContext();
            var GenreLst = new List();
            var GenreQry = from d in db.Movies
                           orderby d.Genre
                           select d.Genre;
            GenreLst.AddRange(GenreQry.Distinct());
            ViewBag.Courses = new SelectList(GenreLst);
            return View();
        }
    }
@{
    ViewBag.Title = "Home Page";
}
Index

@using(@Html.BeginForm("Index","Home",FormMethod.Get)) {

Courses List; @Html.DropDownList("Courses")
}
于 2012-06-05T14:45:56.207 に答える