2011-04-21 46 views
1

可以說我有...動態生成名稱與ASP.net MVC模板

@Html.EditorFor(i => i.Date) 

...我有DateTime類型的項目定義的模板。在我的模板我有...

<input type="text" name="???" /> 

假定模板只接收一個DateTime實例,一個人如何可以擁有模板動態生成基於原始模型的屬性名的表單字段的名稱被分配到模板?

否則,回貼後,模型聯編程序將無法匹配來自模板的值,併爲其指定'Date'屬性!

乾杯,伊恩。

回答

1

你可以反過來使用Html.TextBox而不是寫出輸入標記自己的,它會爲您處理:

@Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue, new {@class = "date"}) 

保留名稱爲空,它會自動獲取爲您填充。如果你想自己明確寫出HTML標籤,我認爲你可以得到這個名字:

<input type="text" name="@ViewData.ModelMetadata.DataTypeName" />