Asp.net MVC-dropdownlist-Bindung durch den Einsatz von model-Klassen
Ich Schreibe MVC-listing Seite, die Notwendigkeit, bundle mit dropdownlist.
Als ich bin sehr zu junior ASP.net MVC, ich weiß nicht, wie man dropdownlist richtig laufen und machen dynamisch gewählt.
Habe ich zwei Modell-Klassen
public class CycleType
{
public int CycleTypeID { get; set; }
public string Type { get; set; }
public List<CycleModel> CycleModels { get; set; }
}
-----------------------------------------------------------
public class CycleModel
{
public int CycleModelID { get; set; }
public int CycleTypeID { get; set; }
public string Model { get; set; }
public virtual CycleType CycleType { get; set; }
}
Dann eine Controller-Klasse,
public class CycleModelController : Controller
{
UnitOfWork<CycleModel> unitOfWork = new UnitOfWork<CycleModel>();
UnitOfWork<CycleType> unitOfWork_cycleType = new UnitOfWork<CycleType>();
...
[HttpGet]
public ActionResult Edit(int CycleModelID)
{
CycleModel cycleModel = unitOfWork.GenericTEntityRepository.GetByID(CycleModelID);
ViewBag.CycleType = new SelectList(unitOfWork_cycleType.GenericTEntityRepository.Get(orderBy: CycleTypes => CycleTypes.OrderBy(CycleType => CycleType.Type)));
return View(cycleModel);
}
...
}
Dann Einer Razor-Datei,
<div class="editor-field">
@*Html.DropDownList("CycleType")*@
@*Html.EditorFor(model => model.CycleTypeID)*@
@Html.DropDownListFor(model => model.CycleTypeID,
new SelectList(ViewBag.CycleType, "Type", "CycleTypeID"))
@Html.ValidationMessageFor(model => model.CycleTypeID)
</div>
Wenn ich mein Programm, bekomme ich die Fehlermeldung
DataBinding: 'System.Web.Mvc.SelectListItem' does not contain a property with the name 'Type'.
1)Wie könnte ich es richtig machen dieser code ?
2)Wie könnte ich machen, wählen Sie den Punkt dynamisch ?
Jeder Vorschlag wird sehr geschätzt.
InformationsquelleAutor Frank Myat Thu | 2012-01-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
ViewBag.CycleType
ist schon einSelectList
. Damit können Sie, direkt.Können Sie ändern Sie die controller-code wie folgt.
InformationsquelleAutor Eranga