2010-03-30 23 views
0

我有一個編輯模板中的日期時間選擇器組合,可以像Html.EditorFor(x => x.ETA)一樣使用,但現在我想使用相同的模板某處我沒有包含DateTime屬性的模型。所以我嘗試使用正確模板的Html.Editor(「DateWithTime」,「Arrival」),但沒有爲ViewData.ModelMetadata.PropertyName賦值,這是我的模板依賴的。它設置了顯着重要的文本框的ID。使用編輯模板而不使用Html.EditorFor()

有沒有辦法呈現模板併爲ViewData.ModelMetadata.PropertyName分配一個id值,這樣我就可以重複使用模板中的邏輯而不必複製它了?

回答

0

您可以在模型中使用UIHint。給它要使用

[UIHint("DateWithTime")] 

仍然使用EditorFor與此模板的名稱。

+0

我在這種情況下根本沒有使用模型,我只是有一個靜態的地方,我想重用相同的編輯器模板 – 2010-03-31 12:32:28

1

也許使用ViewData.TemplateInfo.HtmlFieldPrefix而不是ViewData.ModelMetadata.PropertyName。 我不知道,但我認爲HtmlFieldPrefix一個PropertyName具有相同的值,只要你不迭代一個集合。

您可以使用Html.Editor中的htmlFieldName參數修改HtmlFieldPrefix屬性。