訪問容器我有一個視圖模型AssetFreezeViewModel.cs包含以下屬性:ASP.NET MVC:從EditorTemplate
public AssetFreezeAccountBalanceViewModel AccountBalanceInfo { get; set; }
我有一個基於以上視圖模型視圖Details.cshtml該行:
@Html.EditorFor(x => x.AccountBalanceInfo)
在\查看\共享\ EditorTemplates \,我有一個模板AssetFreezeAccountBalanceViewModel.cshtml衛生組織Ë名稱相同AccountBalanceInfo的類型是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.DeviseId),我們進入DropDownList.cshtml其中集裝箱爲null,則崩潰。
如何從其視圖中的2級下的EditorTemplate訪問Container(= parent)?
在AssetFreezeAccountBalanceViewModel.cshtml的頂部,你有@model AssetFreezeAccountBalanceViewModel嗎? – onefootswill