我们需要打开验证属性,但在这方面没有提供 HtmlHelper。
所以我们开始开发一个新的助手。
为了找出方法,我们使用 JetBrains dotPeek 查看了 MS 代码,并在 System.Web.Mvc (4.0) 的 InputExtensions.cs 中找到了我们需要的一切。
有一个问题:为了创建输入助手,我们需要使用 InputHelper() 方法,不幸的是它是私有(private)的。
为什么是私有(private)的?这应该是输入助手的一个很好的扩展点。
所以现在我们需要在我们的案例中复制这段代码,以提供使用模板创建、验证属性......的功能。
您认为我们的做法对吗?
文档中是否有页面说明如何进行此类扩展方法?
附言找到了一些实现,但它们并不是我想要的: http://blog.isilverlabs.com/2011/01/mvc-file-input-helper/
最佳答案
自定义字段模板可能正是您正在寻找的。它们将允许您覆盖调用 @Html.EditorFor()
或 @Html.DisplayFor()
时生成的 html。
使用 UIHint
属性标记您的 View 模型上的属性,提供您的自定义模板名称。
HtmlHelper 扩展方法将自动在 DisplayTemplates
或 EditorTemplates
文件夹中寻找匹配的模板。
这是一个类似的 StackOverflow 问题: How to create custom editor/display templates in ASP.NET MVC 3?
关于c# - 创建输入 HtmlHelpers(例如 : input type=file),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19445536/