当前日期和时间 - MVC razor 中的默认值

Posted

技术标签:

【中文标题】当前日期和时间 - MVC razor 中的默认值【英文标题】:Current date and time - Default in MVC razor 【发布时间】:2011-10-30 00:57:36 【问题描述】:

当带有此文本框的 MVC 视图页面加载时,我想默认显示当前日期和时间。我怎样才能做到这一点?剃须刀。

  @html.EditorFor(model => model.ReturnDate)

【问题讨论】:

您显然必须完成此操作,但是对于来到这里的其他人,他们应该问自己服务器时间或客户端时间。下面的答案可能会产生非常不同的结果。 【参考方案1】:

在从控制器返回模型之前,请将您的 ReturnDate 属性设置为 DateTime.Now()

myModel.ReturnDate = DateTime.Now()

return View(myModel)

您的视图不是设置属性值的正确位置,因此控制器是更好的位置。

您甚至可以让 ReturnDate 上的 getter 返回当前日期/时间。

private DateTime _returnDate = DateTime.MinValue;
public DateTime ReturnDate
   get
     return (_returnDate == DateTime.MinValue)? DateTime.Now() : _returnDate;
   
   set_returnDate = value;

【讨论】:

这对我有用,除了我收到此错误“system.datetime.now 不能像方法一样使用”。在 DateTime 之后删除括号。现在为我解决了这个问题。【参考方案2】:

如果你想在没有模型的视图上显示日期时间,只需这样写:

Date : @DateTime.Now

输出将是:

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

【讨论】:

【参考方案3】:

您可以在模型上初始化 ReturnDate,然后再将其发送到视图。

在控制器中:

[HttpGet]
public ActionResult SomeAction()

    var viewModel = new MyActionViewModel
    
        ReturnDate = System.DateTime.Now
    ;

    return View(viewModel);

【讨论】:

看起来@Jamie 和我同时回答。他的作品也是!同样的答案。【参考方案4】:

这不是默认构造函数的用途吗?

class MyModel


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

    public date ReturnDate get; set;;


【讨论】:

【参考方案5】:

.razor 文件中的日期

<p>@DateTime.Today.toString()<p>

【讨论】:

以上是关于当前日期和时间 - MVC razor 中的默认值的主要内容,如果未能解决你的问题,请参考以下文章

MVC Razor 隐藏输入和传递值

MVC 3 Razor 视图:从布尔模型值生成 JavaScript

Javascript、Razor/MVC3 中的 C# if 语句

Razor Pages 在页面加载时设置当前日期

MVC 5 Razor 视图未将 bool 绑定到输入

MVC 和 Razor 中 Html.TextboxFor 和 Html.EditorFor 的区别