0

ScottGu 在这篇文章的链接文本中展示了如何将 EditorTemplates 用于 Country DropDownList 等内容。我的问题是如何将国家的动态列表传递给 EditorTemplate?

4

4 回答 4

1

更好的是,您将部分视图设为强类型并将模型传递给 EditorFor 助手

@Html.EditorFor(m=>m.SelectedCountry, Model.AvailableCountries)
于 2011-09-14T09:31:42.690 回答
1

可能最优雅的解决方案是使用自定义属性,稍后您可以使用 ViewData.ModelMetadata 访问模型元数据。

例如:

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

其中 ForeignAttribute 是您必须声明的类,然后使用它来构建您的编辑器模板。

于 2010-01-19T15:56:16.653 回答
0

如果经常需要数据,您可以在ViewData中传递它并从 ActionFilter 提供 ViewData(尽管可以说它是一种反模式)。

于 2010-01-17T14:34:56.743 回答
0

类似于@Benja的回答

您还可以以类似的方式使用 [AdditionaMetaData(key,value)] 属性,而无需定义自己的属性。键和值必须是字符串。

可以在视图中检索额外的数据:@ViewData.ModelMetadata.AdditionalValues["DropDownData"]

于 2012-11-14T23:20:28.980 回答