2010-01-17 37 views

回答

0

如果數據是非常頻繁需要的(儘管可以證明它是anti-pattern),您可以將它傳遞給ViewData,並從ActionFilter提供ViewData。

1

也許最優雅的解決方案是使用自定義屬性,您以後可以使用ViewData.ModelMetadata訪問模型元數據。

e.g:

[Foreign(Type="DropDown", TableName="Countries")] 
    public int IdCountry { get; set; } 

其中ForeignAttribute是你必須申報,後來又用它來建立你的編輯模板類。

1

更妙的是你做的強類型的局部視圖和模型傳遞到EditorFor幫手

@Html.EditorFor(m=>m.SelectedCountry, Model.AvailableCountries) 
+0

有沒有什麼辦法讓EditorForModel()來算出來的子元素? – 2012-11-14 23:09:55

0

類似@貝尼亞的回答

您也可以使用[AdditionaMetaData(鍵,值)]屬性以相似的方式,而不必定義自己的屬性。鍵和值必須是字符串。

額外的數據可以與視圖進行檢索:@ ViewData.ModelMetadata.AdditionalValues [「DropDownData」]

相關問題