ASP.NET MVC 3中的DropDownList @LabelFor(model=>model.Category) @EditorFor(model=>model.Category) @Html.ValidationMessageFor(model=>model.Category)

ASP.NET MVC 3中的DropDownList @LabelFor(model=>model.Category) @EditorFor(model=>model.Category) @Html.ValidationMessageFor(model=>model.Category),.net,asp.net,asp.net-mvc,asp.net-mvc-3,drop-down-menu,.net,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Drop Down Menu,这给了我一个标签和一个文本框。如何获得一个下拉列表,其中包含静态选择项,而不是文本框。请帮忙。我是ASP.NETMVC新手。我需要Razor语法的解决方案/建议。以下是如何使用模型、视图和控制器填充DropDownList <div class="editor-label"> @Html.LabelFor(model => model.Category) </div> <div class="editor-field"> @Html.E

这给了我一个标签和一个文本框。如何获得一个下拉列表,其中包含静态选择项,而不是文本框。请帮忙。我是ASP.NETMVC新手。我需要Razor语法的解决方案/建议。

以下是如何使用模型、视图和控制器填充DropDownList

<div class="editor-label">
    @Html.LabelFor(model => model.Category)
</div>
<div class="editor-field">

    @Html.EditorFor(model => model.Category)
    @Html.ValidationMessageFor(model => model.Category)
</div>
首先是观点

@Html.DropDownListFor( model => model.Category, new SelectList(new [] {"cat1", "cat2", "cat3"}) );
然后是控制器和动作方法

@using Website.Models
@model PageWithSelectList
@{
    ViewBag.Title = "Index";
}
@Html.DropDownList("DayOfWeek", Model.DaysOfWeek)
以及HTML输出

using System.Web.Mvc;
using Website.Models;

namespace Website.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            var model = new PageWithSelectList();
            model.DayOfWeek = 3;
            return View(model);
        }
    }
}

星期日
星期一
星期二
星期三
星期四
星期五
星期六

我希望这会有所帮助。

另一种填写下拉列表的方法是使用viewbag

控制器:

<select id="DayOfWeek" name="DayOfWeek">
<option value="1">Sunday</option>
<option value="2">Monday</option>
<option selected="selected" value="3">Tuesday</option>
<option value="4">Wednesday</option>
<option value="5">Thursday</option>
<option value="6">Friday</option>
<option value="7">Saturday</option>
</select>
公共行动创建() { FillViewBag(); 返回视图(); } 私有void FillViewBag() { List selectOptions=新建列表(); 对于(int i=1;i model.yourProp,ViewBag.SelectOptions as IEnumerable)
希望这对您有所帮助!

您可以使用愚弄代码

控制器

 @Html.DropDownListFor(model => model.yourProp, ViewBag.SelectOptions as IEnumerable<SelectListItem>)
查看

var list = new SelectList(new[]
                                          {
                                              new {ID="1",Name="Employee"},
                                              new{ID="2",Name="Debtor"},
                                              new{ID="3",Name="Supplier"},
                                               new{ID="4",Name="Patient"},
                                          },
                           "ID", "Name", 1);
                ViewData["list"] = list;

                return View();

@Html.DropDownListFor(model=>model.type,ViewData[“list”]作为SelectList,
新的{style=“width:100px;”})

@marc\s:我同意。我花了一段时间才注册。在我注册之前,它不会让我投票或接受答案,然后OpenId出现了网站错误。直到现在才让我投票。
var list = new SelectList(new[]
                                          {
                                              new {ID="1",Name="Employee"},
                                              new{ID="2",Name="Debtor"},
                                              new{ID="3",Name="Supplier"},
                                               new{ID="4",Name="Patient"},
                                          },
                           "ID", "Name", 1);
                ViewData["list"] = list;

                return View();
<div class="editor-field">

@Html.DropDownListFor(model => model.type,ViewData["list"] as SelectList,
 new { style = "width: 100px;"})

</div>