0

在 MVC 3 Razor 项目中,我DisplayFormat在 ViewModel 中定义了格式化 DateTime 属性

[DisplayFormat(DataFormatString = "{0:dd-MMM-yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Posted Date")]
public DateTime PostedDate { get; set; }

我需要在视图中将该字段设为只读

@Html.TextBoxFor(model => model.PostedDate, new { @readonly = "readonly" })

但是在其中显示日期时TextBoxFor不应用 DisplayFormat。如果我更改TextBoxForEditorForDisplayFormat 已应用但不能应用只读 CSS 属性。

如何应用日期格式并使文本框只读?

4

1 回答 1

2

您仍然可以使用编辑器进行渲染时我相信根据您的情况它仍然应该在渲染后渲染到文本框您可以使用简单的 jquery 函数将只读属性添加到渲染的文本框

$("#PostedDate").attr("readonly", "readonly");

不确定它是否是最好的解决方案,但你可以试试

于 2012-06-29T05:32:36.787 回答