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

Schreibe einen Kommentar