我很新的MVC,我已經創建了模型,視圖和以下型號是採用強制性的MVC
public class Student:Basic
{
public Guid StudentId { get; set; }
public string Name { get; set; }
[ForeignKey("SchoolClass")]
public virtual Guid StudentClassId { get; set; }
public virtual SchoolClass SchoolClass { get; set; }
}
這裏視圖中的控制器我想有A類DropDownList的視圖模型。但我不確定如何在不使用View-Model的情況下實現它。許多解決方案要求我使用SelectList for Class創建一個View-Model,並在Controller中填充Class(獲取DB中的所有類),然後在View中使用它。這是唯一的選擇嗎?或者我們可以用其他方式填充DropDown嗎?
你可以在'SelectList'分配給'ViewBag '屬性,但建議使用視圖模型,並具有許多其他優點 - 參考[什麼是MVC中的ViewModel?](http://stackoverflow.com/questions/11064316/what-is-viewmodel-in-mvc) –
in這種情況下'ViewBag'只是視圖模型的一部分;) - 當然你可以*視圖代碼*視圖中的所有內容......沒有:**不要** – Carsten
您可以將任何內容傳遞給強類型視圖 - 這意味着您可以直接傳遞模型。或者你可以通過動態ViewBag傳遞任何東西。但是,這兩種方法很快就會變得不切實際,爲了解決它們的問題,無論如何你可能會訴諸ViewModel。 –