Asp.net-Mvc-4

jQuery DatePicker MVC4 EditorFor

  • March 8, 2018

我需要在 EditorFor 欄位上使用 datepicker。

我的視圖程式碼是:

<div class="editor-label">
   @Html.Label("birthDate","birthDate")
</div>
<div class="editor-field">
   @Html.EditorFor(model => model.birthDate, new { @class = "datepicker"})
   @Html.ValidationMessageFor(model => model.birthDate)
</div>

劇本:

<script type="text/javascript">
$(document).ready(
   function () {
       $('.datepicker').datepicker({
           changeMonth: true,
           changeYear: true,
           minDate: "-99Y",
           dateFormat: "dd/mm/yyyy"
       });
   });

我不能讓它工作。我有以下錯誤:Microsoft JScript 執行時錯誤:對像不支持此屬性或方法“datepicker”。

在嘗試呼叫該函式之前,我已經載入了 jQuery。

@Html.EditorFor(model => model.birthDate, new { @class = "datepicker"})

不起作用,因為**“EditorFor”不會接受**(傳遞給 DOM)Class

因此,您需要使用將接受 Class 或更好的“TextBoxFor”,創建一個 EditorTemplate來處理任何作為 DateTime 的欄位並在那裡添加該類。此連結詳細說明瞭如何製作模板。

一旦你的類工作(可以在原始碼中驗證),剩下的只是引用 jquery 程式碼。我用

@Styles.Render("~/Content/themes/base/css")
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/jqueryui")

並使用您已有的腳本啟動它。注意名稱“.datepicker”與類完全相同。

引用自:https://stackoverflow.com/questions/17427153