16

ASP.NET MVC3 をインストールしました。フォーマットされた日付の日付ピッカーが必要です。これを試しましたが、うまくいきません (フォーマット パラメータとして "{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);
    }

編集:私のコードは、形式が「{0:dd-MM-yyyy}」の場合に機能しますが、「{0:dd/MM/yyyy}」の場合だけではありません

MVC4 には既にこの機能があることは知っていますが、残念ながら私のプロジェクトは MVC3 で書かれています。手伝って頂けますか?

4

5 に答える 5

14

構文は次のとおりです。 @Html.TextBoxFor( 式、文字列形式、オブジェクト htmlAttributes)

例えば:

   @Html.TextBoxFor(x => x.DateUtc, "{0:yyyy-MM-dd HH:mm:ss}",
            new { @class = "form-control", placeholder = "Enter Title", id="myDate"})
于 2015-08-01T10:34:46.540 に答える
3

モデルでは、次を使用します。

[DisplayFormat(DataFormatString="{0:dd/MM/yyyy}")]
public DateTime YourDate { get; set; }

ビューで行うべきことは次のとおりです。

@Html.EditorFor(model => model.YourDate, new { @class = "date" })

これにより、dd/MM/yyyy の形式にフォーマットされた日付が得られます。

于 2012-12-05T14:15:23.030 に答える
2

この形式は次のことに役立ちます。

@Html.TextBoxFor(Model => Model._facadeLowdown.DoB, new { @value= Model._facadeLowdown.DoB.HasValue ? Model._facadeLowdown.DoB.Value.ToString("MM/dd/yyyy") : ""
}
于 2016-04-09T07:22:57.957 に答える