MVC3 自定义编辑器用于 DateTime 和 DisplayFormat 属性

发布于 2024-12-09 07:33:20 字数 530 浏览 0 评论 0原文

我创建了一个自定义 EditorFor DateTime 并向文本框添加了一个类名,

@model DateTime
@Html.TextBoxFor(m => m, new {  @class = "date-time-picker" })

以便我可以将 jquery datepicker 连接到它的客户端

$("input.date-time-picker").datetimepicker();

问题是,要使该

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:g}")]

属性正常工作,您需要使用内置的 EditorFor (或提取模型元数据和自己做同样的事情),那么覆盖默认 EditorFor 的最佳方法是什么,添加类名并调用内置 editorfor ,以便我可以使用 DisplayFormat 属性

I've created a custom EditorFor DateTime and added a classname to the textbox

@model DateTime
@Html.TextBoxFor(m => m, new {  @class = "date-time-picker" })

So that I can connect jquery datepicker to it client side

$("input.date-time-picker").datetimepicker();

The problem is that for the

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:g}")]

attribute to work you need to use the built in EditorFor (Or extracting the model metadata and do the same stuff yourself), so whats the best way of overriding the default EditorFor, add the classname and call the built in editorfor so that I can use the DisplayFormat attribute

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

日记撕了你也走了 2024-12-16 07:33:20

(OP 在问题编辑中回答的问题。转换为社区 wiki 答案。请参阅 问题没有答案,但问题在评论中解决(或在聊天中扩展)

OP 写道:

我这样做解决了这个问题,但感觉就像重新发明轮子

@model DateTime  
@Html.TextBox("", string.Format(ModelMetadata.FromLambdaExpression(x => x, ViewData).DisplayFormatString, Model), new { @class = "date-time-picker" })

(Question answered by the OP in a question edit. Converted to a community wiki answer. See Question with no answers, but issue solved in the comments (or extended in chat) )

The OP wrote:

I solved it by doing this, but it feels like reinventing the wheel

@model DateTime  
@Html.TextBox("", string.Format(ModelMetadata.FromLambdaExpression(x => x, ViewData).DisplayFormatString, Model), new { @class = "date-time-picker" })
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文