1

[編集:現在作業中です。EditorForをTextBoxに変更しました]

私はC#でMVC3を使い始めたばかりです。そして、私はこの問題に遭遇しました。

MVC3プロジェクトにdatepicker機能を追加するためのいくつかのチュートリアルに従いましたが、datepickerがWebプロジェクトに表示されません。これが私が持っているものです:

_Layout.chtmlファイルに、必要なjQuery依存関係ファイルを含めました。

<link href="@Url.Content("~/Content/themes/base/jquery.ui.core.css")" 
    rel="stylesheet" type="text/css" />
<link href="@Url.Content("~/Content/themes/base/jquery.ui.datepicker.css")" 
    rel="stylesheet"  type="text/css" />
<link href="@Url.Content("~/Content/themes/base/jquery.ui.theme.css")" 
    rel="stylesheet" type="text/css" />

<script src="@Url.Content("~/Scripts/jquery.ui.core.min.js")" 
    type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.ui.datepicker.min.js")" 
    type="text/javascript"></script>

これは私が私の見解に持っているものです:

@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
    <legend>Student</legend>

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

    <div class="editor-label">
        @Html.LabelFor(model => model.DOB)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.DOB, new { @class = "date" })
        @Html.ValidationMessageFor(model => model.DOB)
    </div>

    <p>
        <input type="submit" value="Create" />
    </p>
</fieldset>

}

ビュー内の同じファイルに、日付ピッカーを上部のエディターにフックするスクリプトを配置します。

<script type="text/javascript">
$(document).ready(function () {
    $('.date').datepicker();
});

チュートリアルの多くは、このためにEditorTemplateを使用することを提案しましたが、私はそれが必要ではないと思います。私は何か見落としてますか?すべての助けの人々に感謝します。

4

3 に答える 3

0

EditorForを使用してクラスを渡すことができるとは思いません。代わりに、次を試してください。

<div class="editor-field">
    @Html.TextBoxFor(model => model.DOB, new { @class = "date" })
    @Html.ValidationMessageFor(model => model.DOB)
</div>

TextBoxForはHTML属性を受け入れます。

于 2012-08-01T11:47:22.457 に答える
0

これが簡単なデモです。これを読んでください

<!DOCTYPE html>
<html>
<head>
  <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

  <script>
  $(document).ready(function() {
    $("#datepicker").datepicker();
  });
  </script>
</head>
<body style="font-size:62.5%;">

<div id="datepicker"></div>

</body>
</html>
于 2012-08-01T11:53:40.150 に答える
0

@ Html.TextBoxFor() 2番目の引数はオブジェクトhtmlAttributes
@ Html.EditorFor() 2番目の引数はオブジェクトadditionalViewData

したがって、新しい{@class = "date"}は、@ Html.TextBoxFor()に望ましい効果をもたらしません。

于 2013-01-11T18:16:51.873 に答える