2010-02-27 88 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>