2016-11-29 37 views
0

我有一個複雜的模型對象,其中包含許多子對象,詳細說明頁面狀態,數據和配置。模型的子元素被定義爲基類,並且實際上作爲子類的實例傳遞並傳遞給要呈現的視圖。MVC 5 Html.LabelFor未使用模型

我有模型對象被傳遞OK,我可以創建局部變量來存放數據和配置對象,但現在我想在文本框和它們的標籤中顯示一些值。

下面是該視圖中的變量創建:

@model PageBase 
@{ 
    PageConfigPersonal config = (PageConfigPersonal)Model.PageConfig; 
    PageDataPersonal data = (PageDataPersonal)Model.PageData; 
} 

我無法弄清楚如何,或者如果Html.TextBoxFor可以與這些局部變量使用 - 可以這樣做,如果是如何?

我知道我可以施展模型,但這會變得非常笨重和凌亂,所以想要使用局部變量。

戈登

回答

0

仍然可以使用你的局部變量TextBoxFor如下,

@Html.TextBoxFor(m => config.<model variable name>) 
+1

我不認爲這是正確的,因爲lambda表達式必須返回模式,'config'裏面的屬性是不是 –

+0

我可以確認,使用m => data.Name導致一個id爲「config.Name」的控件在回發到服務器時不起作用。目前我正在使用((PageDataPersonal)m.PageData).Name進行強制轉換,儘管它只是少數類型,但它仍在工作。我只是在尋找一種更簡單的方法。 – OzTrak