我试图将我的字符串格式化值转换为格式的日期类型dd/MM/yyyy.
this.Text="22/11/2009";
DateTime date = DateTime.Parse(this.Text);
Run Code Online (Sandbox Code Playgroud)
问题是什么 ?它有一个要求的第二个覆盖IFormatProvider.这是什么?难道我还需要通过这个?如果是,如何在这种情况下使用它?
编辑
Parse和之间有什么区别ParseExact?
编辑2
Slaks和Sam的两个答案都适合我,目前用户正在提供输入,但我将确保使用maskTextbox它们是有效的.
考虑到类型安全性,性能或您想要的所有方面,哪个答案更好
如何通过formdata传递整个模型对象并将其转换为控制器中的模型类型?
以下是我尝试过的!
JavaScript部分:
model = {
EventFromDate: fromDate,
EventToDate: toDate,
ImageUrl: imgUrl,
HotNewsDesc: $("#txthtDescription").val().trim(),
};
formdata.append("model",model);
Run Code Online (Sandbox Code Playgroud)
然后通过AJAX传递它,它将是一个字符串,如果我检查Request.Form["model"]结果的值将是相同的,那就是它将作为字符串接收并且值将是"[object object]"
有没有办法通过formdata传递模型并在控制器中接收它?
我想创建一个简单的ASP.Net表单,它将获得出生日期.我有一个具有此属性的模型:
[DataType(DataType.Date)]
public DateTime? BirthDate{ get; set; }
Run Code Online (Sandbox Code Playgroud)
在我看来(正在使用datepicker):
@Html.LabelFor(model => model.BirthDate)
@Html.TextBoxFor(model => model.BirthDate, new { @class = "form-control date-picker" })
@Html.ValidationMessageFor(model => model.BirthDate, "", new { @class = "text-danger" })
Run Code Online (Sandbox Code Playgroud)
我的javascript datepicker上唯一一个设置是:
format: 'L'
Run Code Online (Sandbox Code Playgroud)
因为我想要没有时间的展示日期.
现在,我无法保存,因为验证错误:
值'12/23/2000'对BirthDate无效.
现在,我知道,它是一个全球化错误......我需要<globalization>在web.config等元素中设置文化...但是,你注意到我没有设置格式(除了datepicker格式"L")?我希望这种形式能够从任何国家的人们那里获得生日,没有具体的文化/形式等.
这可能吗?我该怎么做?
编辑:
c# ×3
asp.net-mvc ×2
datetime ×2
.net ×1
ajax ×1
asp.net ×1
casting ×1
datepicker ×1
form-data ×1
javascript ×1
types ×1