web-dev-qa-db-ja.com

現在の日付-MVC剃刀のデフォルト

このテキストボックスを含むMVCビューページが読み込まれると、デフォルトで現在の日付と時刻を表示したいと思います。これどうやってするの?かみそりで。

  @Html.EditorFor(model => model.ReturnDate)
15
ZVenue

コントローラーからモデルを返す前に、ReturnDateプロパティをDateTime.Now()に設定します

myModel.ReturnDate = DateTime.Now()

return View(myModel)

ビューは、プロパティに値を設定するのに適切な場所ではないため、これにはコントローラーが適しています。

ReturnDateのゲッターが現在の日付/時刻を返すようにすることもできます。

private DateTime _returnDate = DateTime.MinValue;
public DateTime ReturnDate{
   get{
     return (_returnDate == DateTime.MinValue)? DateTime.Now() : _returnDate;
   }
   set{_returnDate = value;}
}
21
Jamie Dixon

モデルなしでビューに日付時刻を表示する場合は、次のように記述します。

Date : @DateTime.Now

出力は次のようになります。

Date : 16-Aug-17 2:32:10 PM
10
Tink

ビューに送信する前に、モデルのReturnDateを初期化できます。

コントローラー内:

[HttpGet]
public ActionResult SomeAction()
{
    var viewModel = new MyActionViewModel
    {
        ReturnDate = System.DateTime.Now
    };

    return View(viewModel);
}
10
Lee DeLapp

これはデフォルトのコンストラクタの目的ではありませんか?

class MyModel
{

    public MyModel()
    {
        this.ReturnDate = DateTime.Now;
    }

    public date ReturnDate {get; set;};

}
7
Jeremy Bell