gpt4 book ai didi

asp.net-mvc - EditorFor(日期): How to display empty text box?

转载 作者:行者123 更新时间:2023-12-04 00:27:00 31 4
gpt4 key购买 nike

<%: Html.EditorFor(model => model.date)%>

加载时如何使此代码显示空文本框? Model.date 不可为空,因此始终显示非空值。如何强制它以空值开头?

注意:我不想让它可以为空,因为在实际代码中,它与必须具有值的模型属性相关联(顺便说一句,我有一个 Required 该属性的数据注释)。让它可以为空是没有意义的。用默认日期(例如今天)替换它也不是一种选择,因为在这种情况下的重点是确保用户不会忘记主动指定日期。

TIA。

最佳答案

问题是如果 Model.Date 属性不可为空,那么它将始终有一个值。过去,我为 DateTime 创建了一个编辑器模板(它也使用了 jquery 日期选择器)。这允许您处理您可能正在寻找等于 DateTime.MinValue 的日期的空值。

所以你的编辑器模板看起来像:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.DateTime>" %>
<%=Html.TextBox("", (Model != DateTime.MinValue ? Model : string.Empty)) %>

您不必担心 name 的空字符串,因为它实际上只填充了 html 前缀就足够了。

本文还介绍了如何创建编辑器模板。

http://geekswithblogs.net/michelotti/archive/2010/02/05/mvc-2-editor-template-with-datetime.aspx

就我个人而言,我希望我的 View 模型中的 DateTime 可以为空,但不会在我的域模型中使用两者之间的验证

关于asp.net-mvc - EditorFor(日期): How to display empty text box?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4303523/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com