2010-02-27 86 views
1

使用EditorFor(model => model.FieldName)asp.net MVC通過通用模型EditorTemplate UIHint

時,我想有一個通用的發言權日期選擇器,富文本編輯器,上傳框等 但editorFor你不能傳遞一個值,所以你必須爲每個需要上述其中之一的模型創建一個強力類型的元素 。

任何人都知道,如果你可以通過一個通用的模型或通用的價值,如使用<T>()

回答

1

人不是今天我是在形式,只是意識到你可以通過在一個類型,而不是一個模型

例如這裏對everyfield使用我的jQuery的DatePicker我UIHInt與DataPicker

`<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<DateTime>" %> 

<%=Html.TextBox(ViewData.TemplateInfo.HtmlFieldPrefix,Model.ToShortDateString(),new{Class="DatePicker"})%>` 

我的JS則看起來像:

$(document).ready(function() { 
     $(".DatePicker").datepicker({ dateFormat: 'dd/mm/yy' }); 
    }); 

和我的觀點簡單地運行這樣的:

<div class="editor-field"> 
      <%= Html.EditorFor(model => model.EventDate) %> 
      <%= Html.ValidationMessageFor(model => model.EventDate) %> 
     </div>