【发布时间】:2020-05-28 19:08:07
【问题描述】:
我在 mvc4 应用程序中有一个文本框,如下所示。
@Html.TextBoxFor(x=>x.dateofAction, ViewBag.filterdateTime as string, new { @id = "dateofAction", @placeholder = "Date Of Action", @class = "txtBox form-control calender validate[required]" })
我正在为这个文本框使用 jquery 日历。
$(document).on('focus', '.calender', function(){
$(this).datepicker({
dateFormat: "dd/mm/yy",
changeMonth: true,
changeYear: true,
showOn: 'button',
buttonImage: '/images/icondate.png',
buttonImageOnly: true
})
});
这是我的模特
[DisplayName("dateofAction")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
public DateTime dateofAction { get; set; }
当第一次页面加载默认日期1/1/0001 12:00:00 AM 显示在文本框中时,我遇到了问题。其实我想显示占位符值。
我可以知道为什么我无法获得占位符值吗?
【问题讨论】:
-
让你的属性可以为空 -
public DateTime? dateofAction { get; set; }(并且不要设置value属性!) -
谢谢斯蒂芬。像魅力一样工作
-
并删除您的
$(document).on('focus', '.calender', function(){并仅将其替换为$('#dateofAction').datapicker({ ... });并删除new { @id = "dateofAction" }(它已经拥有id) -
@StephenMuecke 如果用户不使用可为空的日期时间怎么办?如果我们使用 value 属性,那么它会影响其他任何东西吗?
-
谢谢斯蒂芬。我删除并进行了更改。非常感谢。请问可以回答吗
标签: c# asp.net-mvc asp.net-mvc-4