0

这真的很奇怪。我有一个 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; }

我还可以发布哪些其他信息来提供帮助。这看起来很简单,如果没有这样声明,这些不应该被reuired。

提前致谢!

4

1 回答 1

1

DateTime是不可为空的,因此是必需的。如果您希望它是可选的,请将其设置为可为空。

public DateTime? UsersAddedStartDt { get; set; }

这将适用于所有不可为空的(值)类型,包括int, double, float, short, Guid,Point等。

于 2013-01-25T17:38:37.720 回答