2010-01-17 31 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”]

相关问题