这真的很奇怪。我有一个asp.net MVC应用程序,我正在做一些数据验证。
我有一些不需要的DateTime数据成员。事实上,我已经完全删除了所有注释。
这是对旧内部系统的重写,因此使用文本框可以输入日期。
出于某种原因,这些文本框会根据需要呈现!我甚至试图使用jQuery删除data-val和data-val-required属性。我使用浏览器调试器查看HTML,并且在javascript运行后属性消失。
导致这种情况的原因是什么?
From the Razor markup:
@Html.TextBox("MainStartDt", Model.MainStartDt.ToShortDateString(), new {@class="dateedit" })
from the view model:
public DateTime UsersAddedStartDt { get; set; }
public DateTime UsersAddedEndDt { get; set; }
我可以发布哪些其他信息来提供帮助。这似乎很简单,如果没有这样宣布,就不应该重新使用这些。
提前致谢!
答案 0 :(得分:1)
DateTime
不可为空,因此是必需的。如果您希望它是可选的,请将其设为可为空。
public DateTime? UsersAddedStartDt { get; set; }
这适用于所有非可空(值)类型,包括int
,double
,float
,short
,Guid
,{{1}等等。