2
處理綁定複雜視圖模型的推薦方法是什麼?例如,使用以下對象:使用動態視圖模型綁定ASP.NET MVC模型
class PersonViewModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
//I have also tried a generic object instead of dynamic with the same results
public dynamic PreferredSportsTeam { get; set; }
}
class SportsTeamViewModel
{
public string Name { get; set; }
public string City { get; set; }
}
class BaseballTeamViewModel : SportsTeamViewModel
{
public double TeamERA { get; set; }
}
class HockeyTeamViewModel : SportsTeamViewModel
{
public int TotalSaves { get; set; }
}
我試圖把任何一個BaseballTeamViewModel的實例或HockeyTeamViewModel到PersonViewModel的「PreferredSportsTeam」屬性,然後傳遞PersonViewModel到編輯視圖允許用戶可以編輯所有的字段。
我已成功使用EditorTemplates顯示存儲在「PreferredSportsTeam」屬性中的對象的相應視圖。但是,在提交編輯表單時,MVC模型聯編程序無法重建PreferredSportsTeam中存儲的任何對象。它確實正確地填充了名字和姓氏屬性,但PreferredSportsTeam屬性總是以普通對象的形式返回,我無法將其轉換爲其他任何東西。
有沒有我缺少的東西,或者它不可能與默認的MVC模型聯編程序?我知道自定義模型粘合劑,並認爲它們可能是一種解決方案,但我對他們不瞭解足夠的知識以瞭解如何使用它們來解決問題。
我只能想到使用自定義模型活頁夾。看看這個帖子的一些想法:http://www.matthidinger.com/archive/2011/08/16/An-inheritance-aware-ModelBinderProvider-in-MVC-3.aspx – Chandu
我會說這是完美的候選人爲基於任務的用戶界面..而不是一個完整的「一個POST來統治他們」的CRUD方法。 –