【问题标题】:asp.net mvc How to display default value on a date type textboxasp.net mvc 如何在日期类型文本框中显示默认值
【发布时间】:2013-05-29 01:38:33
【问题描述】:

我正在使用 asp.net mvc 进行开发。 我想要一个日期类型的文本框,所以有一个快捷方式,用户可以单击并选择日期而不是输入。同时我希望文本框显示默认日期值。

我尝试了两种方法: <input type="date" name="toDate" value="@DateTime.Today.Date.ToShortDateString()" />

@Html.TextBox("date", DateTime.Now.ToShortDateString(), new { type = "date"})

但这两种方法会生成文本框,其中显示“dd/mm/yyyy”,而不是我设置的默认值。当我右键单击文本框并检查元素时,我可以看到有一个当前日期的值,但它不能显示在文本框中!

当我将type="date" 替换为type="text" 时,我可以在文本框中看到默认值。但是我没有选择日期的捷径,它只能让我输入。

如何保留快捷方式和默认值?

【问题讨论】:

    标签: asp.net-mvc date default-value html.textbox


    【解决方案1】:

    我认为您需要 HTML5 日期选择器。这取决于您使用的网络浏览器。目前,Google chrome 和 Opera 支持。

    <input type="date" value="2012-10-10"/>
    @Html.TextBox("date", DateTime.Now.ToString("yyyy-MM-dd"), new { type = "date" })
    

    【讨论】:

    • 第一个 正在工作。但它不能动态显示当前日期。当我尝试用参数替换它时,例如:var x = DateTime.Now.ToShortDateString() ,它不再起作用。您的代码的第二行返回与我相同的结果
    【解决方案2】:

    如果你这样做会发生什么

    @Html.TextBox("date", DateTime.Now.ToString("dd/mm/yyyy"), new { type = "date"})
    

    【讨论】:

    • 一个日期类型的文本框,我可以通过单击快捷方式选择日期,但默认值为 dd/mm/yyyy。它不显示真实日期
    【解决方案3】:

    你需要把这个:

    【讨论】:

      猜你喜欢
      • 2014-06-25
      • 1970-01-01
      • 2021-04-27
      • 2022-11-21
      • 1970-01-01
      • 2013-12-14
      • 1970-01-01
      • 2011-08-30
      • 1970-01-01
      相关资源
      最近更新 更多