我们需要验证属性,并且在这方面没有提供HtmlHelper。
所以我们开始开发一个新助手。
为了了解具体方法,我们使用JetBrains dotPeek查看了MS代码,并在System.Web.Mvc(4.0)的InputExtensions.cs中找到了所需的一切。
存在一个问题:对于创建输入助手,我们需要使用不幸的私有的InputHelper()方法。
为什么是私人?这应该是输入助手的一个很好的扩展点。
所以现在我们需要在我们的案例中复制这个代码,以提供创建with template ing,validation attributes,....的功能。
你认为我们所做的是正确的吗?
文档中是否有一个页面说明了如何进行此类扩展方法?
P.S。发现了一些实现,但它们并不是我想要的: http://blog.isilverlabs.com/2011/01/mvc-file-input-helper/
答案 0 :(得分:1)
自定义字段模板可能是您正在寻找的。它们会允许您覆盖调用@Html.EditorFor()
或@Html.DisplayFor()
时生成的html。
使用UIHint
属性标记视图模型上的属性,并提供自定义模板名称。
HtmlHelper扩展方法会自动在DisplayTemplates
或EditorTemplates
文件夹中查找匹配的模板。
这是一个类似的StackOverflow问题: How to create custom editor/display templates in ASP.NET MVC 3?