Come sempre in un'applicazione ASP.NET MVC Si inizia con la definizione di un modello di vista:
public class MyViewModel
{
public string SelectedIndividual { get; set; }
public SelectList Individuals { get; set; }
}
poi si scrive un azione di controllo che popola questo modello vista da una fonte di dati o qualcosa:
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);
}
e, infine, si ha una vista fortemente tipizzato utilizzando aiutanti fortemente tipizzati:
@model MyViewModel
@Html.DropDownListFor(
x => x.SelectedIndividual,
Model.Individuals
)
Detto questo, perché vedo che non si sta utilizzando tutti i modelli vista nella vostra applicazione, si può sempre provare il seguente brutture (non raccomandato, farlo a proprio rischio):
@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"
)
)
Di Ovviamente una tale pornografia non è qualcosa che consiglierei di scrivere mai in una prospettiva e non consiglierei nemmeno ai miei peggiori nemici.
Conclusione: in un'applicazione ASP.NET MVC è necessario utilizzare sempre i modelli di visualizzazione e le viste fortemente tipizzate con gli helper fortemente tipizzati (vedere la prima parte della mia risposta).
Vedi questo esempio http://stackoverflow.com/questions/7143811/ get-id-and-type-from-html-dropdownlist-to-controller/7143991 # 7143991 –
E un altro articolo che potresti voler controllare ht tp: //www.c-sharpcorner.com/UploadFile/b19d5a/7474/ –