在 MVC 中使用字符串格式绑定可为空的日期时间



我无法解决最近两天的问题。

@Html.TextBoxFor(model => model.myObject.dateAssign, String.Format("{0:MM/dd/yy}"))

在这里,dateAssign 是可为空的日期时间。 它可能是也可能没有值。

我不断收到以下错误

Index (zero based) must be greater than or equal to zero and less than the size of the argument list.

请给我一些提示或方向

String.Format()需要第二个参数(请参阅文档) - 在您的情况下是您的日期。

查看此页面以了解日期格式。

然后你会写一些类似的东西

@Html.TextBox(model => String.Format("{0:MM/dd/yy}", model.myObject.dateAssign))  

或者,如果要使用 @Html.TextBoxFor ,可以像这样注释属性:

// in your model:
[DisplayFormat(DataFormatString = "{0:MM/dd/yy}", ApplyFormatInEditMode= true]
DateTime? dateAssign { get; set; }  
// and in your view:
@Html.TextBoxFor(model => model.myObject.dateAssign)

最新更新