ASP.NET MVC:将 EditorFor() 与枚举的默认模板结合使用
我编写了一个 EnumDropDownFor() 帮助器,我想将其与 EditorFor() 结合使用。我刚刚开始使用 EditorFor() 所以对如何选择模板有点困惑。
我的 Enum.cshtml 编辑器模板如下:
<div class="editor-label">
@Html.LabelFor(m => m)
</div>
<div class="editor-field">
@Html.EnumDropDownListFor(m => m)
@Html.ValidationMessageFor(m => m)
</div>
缺少显式定义要使用的模板,是否有任何方法可以拥有一个在将 Enum 传递给 EditorFor() 时使用的默认模板?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以查看 Brad Wilson 关于 默认模板。当您有 Enum 类型的模型属性时,它就是正在呈现的字符串模板。因此,您可以像这样自定义此字符串编辑器模板:
~/Views/Shared/EditorTemplates/String.cshtml
:然后在您的视图中简单地:
You may checkout Brad Wilson's blog post about the default templates used in ASP.NET MVC. When you have a model property of type Enum it is the string template that is being rendered. So you could customize this string editor template like this:
~/Views/Shared/EditorTemplates/String.cshtml
:and then in your view simply: