kar*_*una 14 c# asp.net-mvc formatting asp.net-mvc-3
我安装了ASP.NET MVC3.我需要带有格式化日期的datepicker.我尝试了这个,但它不起作用(当传递"{0:dd/MM/yyyy}"作为格式参数时,它仍然没有格式化):
private static MvcHtmlString FormattedDateTextBoxFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, string format, RouteValueDictionary htmlAttributes)
{
var metadata = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData);
if (metadata.Model != null && metadata.Model as DateTime? != null)
htmlAttributes.Add("value", string.Format(format, (DateTime)metadata.Model));
return htmlHelper.TextBoxFor(expression, htmlAttributes);
}
Run Code Online (Sandbox Code Playgroud)
编辑:如果格式为"{0:dd-MM-yyyy}",我的代码有效但不仅仅是"{0:dd/MM/yyyy}"
我知道MVC4已经具有此功能,但不幸的是我的项目是在MVC3上编写的.你能帮助我吗?
小智 42
我甚至可以使用的唯一格式是:
@Html.TextBoxFor(m => m.Birthdate, "{0:MM/dd/yyyy}")
Run Code Online (Sandbox Code Playgroud)
小智 11
语法为:@ Html.TextBoxFor(表达式,字符串格式,对象htmlAttributes)
例如:
@Html.TextBoxFor(x => x.DateUtc, "{0:yyyy-MM-dd HH:mm:ss}",
new { @class = "form-control", placeholder = "Enter Title", id="myDate"})
Run Code Online (Sandbox Code Playgroud)
在您的模型中,使用以下内容:
[DisplayFormat(DataFormatString="{0:dd/MM/yyyy}")]
public DateTime YourDate { get; set; }
Run Code Online (Sandbox Code Playgroud)
这是它应该在视图中执行的操作:
@Html.EditorFor(model => model.YourDate, new { @class = "date" })
Run Code Online (Sandbox Code Playgroud)
这将为您提供一个格式为 dd/MM/yyyy 的日期。
| 归档时间: |
|
| 查看次数: |
54231 次 |
| 最近记录: |