Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何使Html.textboxfordatetime接受用户输入的dd.MM.yy_Asp.net Mvc_Asp.net Mvc 3_Razor - Fatal编程技术网

Asp.net mvc 如何使Html.textboxfordatetime接受用户输入的dd.MM.yy

Asp.net mvc 如何使Html.textboxfordatetime接受用户输入的dd.MM.yy,asp.net-mvc,asp.net-mvc-3,razor,Asp.net Mvc,Asp.net Mvc 3,Razor,我正在尝试创建一个用户可以搜索文章的页面。有一个选项可以根据FromDate和ToDate限制搜索。这两个都是DateTime 要求用户在表格dd.MM.yy上输入日期,因为这在我国是正常的。提交表单后,我可以在URL中看到日期,它看起来就像我想要的那样。然而,问题是MVC3假定格式为MM.dd.yy。我怎样才能改变这个 一些代码: 这是我使用的Razor代码 <div class="toDate" > <label>til dato</label>

我正在尝试创建一个用户可以搜索文章的页面。有一个选项可以根据
FromDate
ToDate
限制搜索。这两个都是
DateTime

要求用户在表格
dd.MM.yy
上输入日期,因为这在我国是正常的。提交表单后,我可以在URL中看到日期,它看起来就像我想要的那样。然而,问题是MVC3假定格式为
MM.dd.yy
。我怎样才能改变这个

一些代码: 这是我使用的Razor代码

<div class="toDate" >
  <label>til dato</label>
  @Html.TextBoxFor(m => m.DateTo, new { placeholder = "dd.mm.yy" })
</div>
我已尝试使用EditorFor,但我丢失了占位符文本

简而言之:如何让我的MVC3模型接受用户在dd.MM.yy表单上的日期时间输入

如果我的问题不够清楚,请告诉我,我会尽力澄清

编辑: 看来我需要一些澄清,所以我将尝试通过制作一个场景来做到这一点:

  • 用户输入其搜索条件。他在两个文本框中设置DateFrom和DateTo
  • 表单将被提交并发回服务器
  • 在服务器上,DateTime对象以MM.dd.yy的形式处理。我希望它被解释为dd.MM.yy

  • 我希望这会有所帮助。

    尝试设置一个自定义验证属性,根据自己的喜好验证日期格式

    [DisplayFormat(DataFormatString = "{0:dd MM yy}")]
    pubilc DateTime DateTo { get; set }
    
    这里有一个很好的教程:(它并不像一开始看起来那么困难,而且非常有用)

    或者,只需使用以下内容构建正则表达式验证属性:

    RegularExpression(@"[0-3][0-9]\.[0-1][0-9].[0-9][0-9]")]
    
    上面的正则表达式并不完美,但可以作为一个例子


    编辑:如果3nigma的解决方案对您有效,则显然比我的更可取。:)

    这真的可以根据特定的格式验证输入吗?是的,它真的可以工作,你只需要在模型classI中添加这行代码,我不能这样做。如果我设置文本框的值,似乎会使用此选项?我试图做的是获取用户的输入,并在搜索中使用它——我希望我的模型接受表单dd.Mm.yy上的输入。(我也用{0:dd.MM.yy}试过你的例子)谢谢你的建议。我不想验证用户的输入。我正试着让我的模特在dd.MM.yy表格上接受它。即使表格上输入的正确信息也会被视为MM.dd.yy。我想我在理解这个问题时遇到了问题——即使在阅读了你对另一个答案的评论之后。你能试着在你原来的帖子中用更多的例子来阐述吗?我在我原来的帖子中添加了一些澄清。希望有帮助。
    RegularExpression(@"[0-3][0-9]\.[0-1][0-9].[0-9][0-9]")]