【发布时间】:2011-05-14 12:37:23
【问题描述】:
我有一个模型,其中包含图像 url 的属性:
[Required]
[DataType(DataType.ImageUrl)]
public string Logo { get; set; }
如您所见,数据类型是 ImageUrl,我利用这一事实在 Views/Shared 目录中创建了一个编辑器模板。
模板只需要通过添加一些额外的html元素来扩展默认模板。我不知道该怎么做。
我尝试在调用 html 帮助程序时指定模板名称,但这似乎对我不起作用。
我使用的代码是(注意这是inside自定义模板):
@Html.EditorFor(model => model, "string")
如果你想知道我是通过在 MVC 3 dll 上使用反射器来获得模板名称的,那么在
下System.Web.Mvc.Html
我查看了 TemplateHelpers 类的构造函数并看到了这一行:
dictionary3.Add(typeof(string).Name, new Func<HtmlHelper, string>(DefaultEditorTemplates.StringTemplate));
为任何帮助干杯 托尼
更新
忘了说。我这样做的原因是利用 MVC 3 的不显眼验证
【问题讨论】:
-
为什么不在编辑器模板中使用
@Html.TextBoxFor(m => m)而不是EditorFor? -
:-\脑放屁。发布为答案,我会接受
-
呵呵,我经常这样。 :)
标签: asp.net-mvc-3 editortemplates