在ASP.NET MVC應用程序與往常一樣,你首先來定義視圖模型:
public class MyViewModel
{
public string SelectedIndividual { get; set; }
public SelectList Individuals { get; set; }
}
那麼你寫的填充這一觀點從一些數據源或者什麼型號的控制器操作:
public ActionResult Index()
{
// TODO : fetch those from your repository
var values = new[]
{
new { Value = "1", Text = "item 1" },
new { Value = "2", Text = "item 2" },
new { Value = "3", Text = "item 3" },
};
var model = new MyViewModel
{
Individuals = new SelectList(values, "Value", "Text")
};
return View(model);
}
最後你必須使用強類型的輔助一個強類型的視圖:
@model MyViewModel
@Html.DropDownListFor(
x => x.SelectedIndividual,
Model.Individuals
)
這是說,因爲我知道你不使用任何視圖模型在你的應用程序,你總是可以嘗試下面的醜陋(不推薦,這樣做風險自負):
@model IEnumerable<MVR.Models.ViewIndividual>
<h2>Level1</h2>
@Html.DropDownList(
"SelectedIndividual",
new SelectList(
Model.Select(
x => new {
Value = x.Case_Number,
Text = string.Format(
"{0}, {1}",
x.Patient_Lastname,
x.Patient_Firstname
)
}
),
"Value",
"Text"
)
)
中當然,這種色情不是我會推薦永遠不會寫在視圖中的東西,我也不會建議甚至對我最壞的敵人。
結論:在ASP.NET MVC應用程序,你應該總是使用視圖模型,並與強類型的輔助強類型的意見(見我的回答的第一部分)。
參見本實施例中http://stackoverflow.com/questions/7143811/得到-ID和型從-HTML的下拉列表到控制器/ 7143991#7143991 –
而另一篇文章中,你可能要檢查出HT TP://www.c-sharpcorner.com/UploadFile/b19d5a/7474/ –