c# - mvc4 从表单中获取日期值

标签 c# asp.net-mvc-4

我正在创建结帐系统。部分表格需要所用卡的到期日期。这由 2 个小文本框组成,1 个代表月份,1 个代表年份。在我看来,我正在使用以下代码:

@Html.LabelFor(c => c.expiryDate)
@Html.HiddenFor(c => c.expiryDate.Day)
@Html.TextBoxFor(c => c.expiryDate.Month, new { @class = "ccDate" })
<span class="ccDateSep">/</span>
@Html.TextBoxFor(c => c.expiryDate.Year, new { @class = "ccDate" })

但是,当提交表单时,日期始终显示为 01/01/0001。所有其他领域都很好。

有什么想法吗?

最佳答案

DateTime 结构是不可变的。您不能只创建一个实例并更改其DayMonthYear。您应该直接绑定(bind)expiryDate 属性,否则您将必须在模型中为月份和年份值创建新属性。然后您可以使用构造函数自己创建一个实例。

关于c# - mvc4 从表单中获取日期值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20424255/

相关文章:

javascript - 根据 AJAX 请求的类型显示 LoadingGif

asp.net-mvc-4 - 无法让 Twitter.Bootstrap.Mvc4.sample 在空的 MVC4 项目中工作

c# - MVC 配置种子方法未插入指定的主键

c# - if else系列如何清理

c# - 对于 .NET 3.5,您将如何进行线程安全的获取或添加缓存?

c# - 从外部javascript函数访问angularJs Controller 方法

mysql - 如何使用 petapoco MVC4 创建联接

c# - WCF 中的 WCF 服务引用未正确获取方法类型

c# - Automapper 中的 ReverseMap 使用备用命名约定

c# - 多个 linq 连接但不同的运算符