2

ASP.NET MVC4アプリケーションには、「from」フィールドと「to」フィールドを持つビューがあり、JQueryUIDatePickerコントロールを使用しています。次のコードが示すように、HtmlHelperを使用してフォームを作成しています。

<p>
    @Html.LabelFor(x => x.CustomerId)
    @Html.DropDownListFor(x => x.CustomerId, new SelectList(Model.Customers, "Id", "Name"))
    <span class="datePicker">
        @Html.LabelFor(x => x.FromDate)
        @Html.EditorFor(x => x.FromDate)
    </span>
    <span class="datePicker">
        @Html.LabelFor(x => x.ToDate)
        @Html.EditorFor(x => x.ToDate)
    </span>
</p>
<p>
    @Html.LabelFor(x => x.IsActiveOnly)
    @Html.CheckBoxFor(x => x.IsActiveOnly)
</p>

モデルでは、2つのDateTimeプロパティに[DataType(DataType.Date)]and[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]属性を使用します。これにより、ChromeでDatePickerが正しくレンダリングされますが、デフォルト値はありませんが、IEまたはFFではレンダリングされません

HtmlHelper(または最小限のJS)を使用して、3つのブラウザーすべてでDatePickerを表示する方法はありますか?

4

1 に答える 1

1

メソッドの objectHtml 属性datePickerにクラスを渡すときに、クラスを texboxes に設定しないのはなぜですかTextBoxFor

@Html.TextBoxFor(model => model.FromDate, "{0:d}", new {  @class = "datePicker"})

編集 :

上記のソリューションの例として

@model MvcApplication3.Models.MVCTEST2
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<script src="../../Scripts/jquery-1.9.1.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-1.10.1.custom.js" type="text/javascript"></script>
<link href="../../Content/jquery-ui-1.10.1.custom.min.css" rel="stylesheet" type="text/css" />
<link href="../../Content/jquery-ui-1.10.1.custom.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
    $(document).ready(function () {
         $(".datePicker").datepicker();
    })
</script>
<title>Index</title>
</head>
<body>
<div>
    @Html.TextBoxFor(model => model.FromDate, "{0:d}", new { @class = "datePicker" })
</div>
</body>
</html>

IE FF および GC でテスト済み

于 2013-02-26T05:42:52.110 に答える