2

これはサンプルコードです。読み込み時に生年月日が 08-06-1990 に変更されるのを確認できますが、テキスト ボックスをクリックすると日付ピッカーは表示されません。layout.cshtml には以下が含まれます

<script src="~/Scripts/jquery-1.7.1.js"></script>
<script src="~/Scripts/jquery-ui-1.8.20.js"></script>  

それらがfirebugにロードされていることがわかります.EditorForを削除し、代わりにテストのみを使用しました。何か案が。

@model SMS.Model.Student

@{
    ViewBag.Title = "Edit";
}

<script type="text/javascript">
    $(document).ready(function(){
        $('#DateofBirth').val("08-06-1990");
        $('#DateofBirth').datepicker();
    });
</script>


<h2>Edit</h2>

@using (Html.BeginForm())
{
    @Html.ValidationSummary(true)

    <fieldset>
        <legend>Student</legend>

        @Html.HiddenFor(model => model.Id)

        <div class="editor-label">
            @Html.LabelFor(model => model.RegistrationNo)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.RegistrationNo)
            @Html.ValidationMessageFor(model => model.RegistrationNo)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.DateofBirth)
        </div>

        <input  id="DateofBirth" value="07-06-1990" />

        <p>
            <input  type="submit" value="Save" />
        </p>
    </fieldset>
}

<div>
    @Html.ActionLink("Back to List", "Index")
</div>

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}
4

1 に答える 1

2

それは今動作します。私のlayout.cshtmlが持っていることに気付きました

 @Scripts.Render("~/bundles/jquery")
 @RenderSection("scripts", required: false)

本文セクションで、jqueryファイルを2回ロードしてjqueryおよびjquery uiを明示的に参照していたため、この問題が発生しました。これをヘッダーから削除しました

<script src="~/Scripts/jquery-1.7.1.js"></script>
<script src="~/Scripts/jquery-ui-1.8.20.js"></script>

そして移動しました

@Scripts.Render("~/bundles/jquery")

ヘッダーに jqueryui を追加しました。それは完全に機能します。

@Scripts.Render("~/bundles/jqueryui")
于 2012-09-08T17:07:10.377 に答える