2011-06-03 77 views
6
<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> 

這給了我一個標籤和一個文本框。如何使用靜態選擇項代替文本框來獲取下拉列表。請幫忙。我是ASP.NET MVC的新手。我需要Razor語法的解決方案/建議。ASP.NET MVC中的DropDownList 3

+1

@marc_s:我同意。我花了一段時間才註冊。它不會讓我投票或接受答案,直到我註冊,然後有OpenId網站錯誤。直到現在還沒有讓我投票。 – ZVenue 2011-06-03 21:02:06

回答

10
@Html.DropDownListFor(model => model.Category, new SelectList(new [] {"cat1", "cat2", "cat3"})); 
+0

感謝您的幫助。 – ZVenue 2011-06-03 20:27:19

3

下面介紹如何使用模型,視圖和控制器填充DropDownList。

首先認爲

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

則控制器和操作方法

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

和HTML輸出

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

我希望這有助於。

0

填充下拉列表的另一種方法是使用viewbag。

控制器:

public Action Create() 
{ 
    FillViewBag(); 
    Return View(); 
} 

private void FillViewBag() 
    { 
     List<SelectListItem> selectOptions = new List<SelectListItem>();    
     for(int i = 1; i <= 3; i++) 
     { 
      SelectListItem sli = new SelectListItem(); 
      sli.Text = "Option " + i.ToString(); 
      sli.Value = i.ToString(); 
      selectOptions.Add(sli) 
     } 
     ViewBag.SelectOptions = selectOptions; 
    } 

在你看來:

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

希望這可以幫助你!

0

可以使用foolowing代碼

的Controler

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>