3

しばらくの間、私はこの小さな問題に頭を悩ませようとしました。行われた調査は私をさらに混乱させるだけで、いくつかの試みはうまくいきませんでした。

だから、あなたが私の痛みを和らげるのを手伝ってくれると思うなら、私はそれを大いに感謝します!

私はASP.NET MVC4モバイルアプリケーションを初めて使用します。詳細が少ししかない簡単な登録ページを作成しています。そのうちの1つは生年月日です。日付ピッカーではなく、ドロップダウンリストのセットにすることをお勧めしますモバイルの場合は、シンプルにしたい:))。

ビュー ページにドロップダウン リストを設定するコードは次のとおりです。

<fieldset data-role="controlgroup" data-type="horizontal">
        <legend>D.O.B</legend>
            @Html.DropDownList("Day", Enumerable.Range(1, 31).Select(i => new SelectListItem { Value = i.ToString(), Text = i.ToString()}), "Day")
            @Html.DropDownList("Month", Enumerable.Range(1, 12).Select(i => new SelectListItem { Value = i.ToString(), Text = System.Globalization.CultureInfo.InvariantCulture.DateTimeFormat.GetMonthName(i)}), "Month")
            @Html.DropDownList("Year", Enumerable.Range(1900, 114).Select(i => new SelectListItem { Value = i.ToString(), Text = i.ToString()}), "Year")
</fieldset>

ここから値を Register モデルに「マップ」できるようにしたいのですが、現在は次のようになっています。

[DataType(DataType.Date)]
public DateTime BirthDate { get; set; }

どんな助けや率直な答えでも大歓迎です。さらに情報が必要な場合は、お気軽にお問い合わせください。どうもありがとうございました。

よろしく

4

1 に答える 1

10

モデルの DateTime の代わりに、3 つの int を持つことができます

        public int Day { get; set; }
        public int Month { get; set; }
        public int Year { get; set; }

そしてあなたの見解では、あなたはそうするでしょう

        @Html.DropDownListFor( model => model.Day, Enumerable.Range(1, 31).Select(i => new SelectListItem { Value = i.ToString(), Text = i.ToString()}), "Day")
        @Html.DropDownListFor( model => model.Month, Enumerable.Range(1, 12).Select(i => new SelectListItem { Value = i.ToString(), Text = System.Globalization.CultureInfo.InvariantCulture.DateTimeFormat.GetMonthName(i)}), "Month")
        @Html.DropDownListFor( model => model.Year,  Enumerable.Range(1900, 114).Select(i => new SelectListItem { Value = i.ToString(), Text = i.ToString()}), "Year")

コントローラーに入ると、これらの 3 つの int から日時を作成し、データベースに保存できます。

DateTime date1 = new DateTime(year, month, day);

MVC を使用したフォームとモデルに関する詳細なガイダンスが必要な場合は、この ASP.NET MVC ガイドを参照することをお勧めします。これは非常に包括的です。

http://www.asp.net/mvc/tutorials/hands-on-labs/aspnet-mvc-4-helpers,-forms-and-validation

于 2013-08-02T19:38:06.723 に答える