我有一个包含以下属性的视图模型 AssetFreezeViewModel.cs :
public AssetFreezeAccountBalanceViewModel AccountBalanceInfo { get; set; }
基于上面的ViewModel,我有一个 Details.cshtml 视图:
@Html.EditorFor(x => x.AccountBalanceInfo)
在\ Views \ Shared \ EditorTemplates \中,我有一个模板 AssetFreezeAccountBalanceViewModel.cshtml ,其名称与AccountFalanceInfo的类型相同,即AssetFreezeAccountBalanceViewModel(按惯例)
在那个EditorTemplate中,我有:
@Html.EditorFor(model => model.DeviseId)
在 AssetFreezeAccountBalanceViewModel.cs 中,我有:
[UIHint("DropDownList")]
public Int16? DeviseId { get; set; }
public IEnumerable<SelectListItem> DeviseIdList { get; set; }
最后,在\ Views \ Shared \ EditorTemplates \我有 DropDownList.cshtml (按惯例应用于DeviseId):
@model dynamic
@{
var propertyNameLookup = this.ViewData.ModelMetadata.PropertyName + "List";
var property = this.ViewData.ModelMetadata.Container.GetType().GetProperty(propertyNameLookup);
...
}
当代码点击@ Html.EditorFor(model =&gt; model.DeviseId)时,我们输入DropDownList.cshtml,其中容器为空然后崩溃。
如何从该视图中向下2级的EditorTemplate访问Container(= parent)?
答案 0 :(得分:0)
我刚刚在@model AssetFreezeAccountBalanceViewModel
AssetFreezeAccountBalanceViewModel.cshtml
希望有所帮助。