2

訪問容器我有一個視圖模型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)?

+0

在AssetFreezeAccountBalanceViewModel.cshtml的頂部,你有@model AssetFreezeAccountBalanceViewModel嗎? – onefootswill

回答

0

我只是說@model AssetFreezeAccountBalanceViewModel截至AssetFreezeAccountBalanceViewModel.cshtml

頂下面是一個sample project

希望有所幫助。

相關問題