2017-08-17 27 views
0

私は、コードの最初のASP.Netアプリケーションでカレンダーの日付ピッカーを実装しようとしています。ASP.Net MVC5日付ピッカー

現在、これは私のコードは

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy/mm/dd}")] 
[DisplayName("Date of Birth")] 
[DataType(DataType.Date)] 
[Range(typeof(DateTime), "1995/01/01", "2016/12/31")] 
public DateTime DateOfbirth { get; set; } 

この「Student.cs」と呼ばれるモデルでどのように見えるか、しかし、私がまた設定に苦労してるコンボボックスタイプの日付ピッカーを与えていますの形式。

私は、次のjQueryの日付ピッカーを実装したいと思います:

<script> 
    $(function() { 
    $("#datepicker").datepicker(); 
    }); 
</script> 

そして、ビューのhtmlファイルに

<input type="text" id="datepicker"> 

を使用して、私は私の日付のカレンダーを持つことができるはずです出産フィールドの?

私は上記のスクリプトを配置する場所がわかりません。また、ビューファイルの入力タイプを変更する場所がわかりません。 現在、ビューファイルは、 'datepicker'コンポーネントを実装するために変更する方法がわからない次のコードを使用して日付を制御します。

<div class="form-group"> 
    @Html.LabelFor(model => model.DateOfbirth, htmlAttributes: new { @class = "control-label col-md-2" }) 
    <div class="col-md-10"> 
     <input type="text" id="datepicker"> 
     @Html.EditorFor(model => model.DateOfbirth, new { htmlAttributes = new { @class = "form-control" } }) 
     @Html.ValidationMessageFor(model => model.DateOfbirth, "", new { @class = "text-danger" }) 
    </div> 
</div> 

答えて

2

"mm"は分を表します。資本金 "MM"は月を表します。

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy/MM/dd}")] 

また、あなたはjQueryのライブラリをロードした後、お使いのjQueryの機能のみ動作しますので、それは通常ありませんように、それは、_Layout.cshtml DOMの最後にロードした場合、あなたは、バンドル内のスクリプトを配置する必要がありますライブラリが読み込まれた後

<input>タグもありません。これはEditorForです。ちょうどそれを書くように

@Html.EditorFor(model => model.DateOfbirth, new { htmlAttributes = new { @class = "form-control", id = "datepicker" } }) 

私はこれを修正する必要があると思います。

私は私の文化機能がどのように見えるかを紹介します:私はそれらの変更を行った

$(function() { 
    $("[type=datetime]").datepicker({ 
     closeText: 'Fechar', 
     prevText: '', 
     nextText: '', 
     currentText: 'Hoje', 
     monthNames: ['Janeiro', 'Fevereiro', 'Mar&ccedil;o', 'Abril', 'Maio', 'Junho', 
     'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'], 
     monthNamesShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 
     'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'], 
     dayNames: ['Domingo', 'Segunda-feira', 'Ter&ccedil;a-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sabado'], 
     dayNamesShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'], 
     dayNamesMin: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'], 
     weekHeader: 'Sm', 
     dateFormat: 'dd/mm/yy', 
     firstDay: 0, 
     isRTL: false, 
     showMonthAfterYear: false, 
     yearSuffix: '', 
     changeMonth: true, 
     changeYear: true 
    }); 
}); 
+0

、しかしそれは以前と同じように私に同じピッカーを示しています。ライブラリがロードされた後、_Layout.cshtmlファイルの最後にスクリプトを追加しましたが、これで十分ですか?またはそれが別のファイルにあるはずですか? –

+0

_Layout.cshtmlのjQueryライブラリの後にロードする限り、必要な場所に置くことができます。 – Tiramonium

+0

"Jan"のように "1月"のように "縮小された"月名などのカルチャ標準を設定するには、jQueryライブラリの横に設定スクリプトが必要なようです。 – Tiramonium