javascript中的asp.net mvc 3访问日期时间模型属性
在Asp.NETMVC中,我有一个包含类型为javascript中的asp.net mvc 3访问日期时间模型属性,javascript,jquery,asp.net-mvc,asp.net-mvc-3,Javascript,Jquery,Asp.net Mvc,Asp.net Mvc 3,在Asp.NETMVC中,我有一个包含类型为DateTime的属性的模型 如何在JavaScript中访问它 使用@(Model.PrimitiveTypeProperty)可以很好地工作,但对于DateTime属性就不行了 问题更复杂,但我至少需要一个具有此值的alter。 可能吗?从您的模型中,您应该具有DateTime属性 public class YourModel { public DateTime YourDateField { get; set; } } 然后在视图中可
DateTime
的属性的模型
如何在JavaScript中访问它
使用@(Model.PrimitiveTypeProperty)
可以很好地工作,但对于DateTime
属性就不行了
问题更复杂,但我至少需要一个具有此值的alter。可能吗?从您的模型中,您应该具有DateTime属性
public class YourModel {
public DateTime YourDateField { get; set; }
}
然后在视图中
可以执行以下操作:
@Html.LabelFor(m => m.YourDateField);
使用JavaScript/jQuery
访问它:
$(document).ready(function() {
var d = $("#YourDateField").val();
alert(d);
$("#YourDateField").val = "01/01/2000"; // sets the date which will then be posted back to the model on the form submit.
});
这将提醒您的模型中的日期值
$("#YourDateField").val = "01/01/2000";
更改客户端的日期。如果您的视图有一个
表单
元素,当它被提交回服务器时,传回的值将反映更改(01/01/2000)。您可以将它放在一个隐藏的表单中,例如:
@Html.HiddenFor(model => model.YourDate)
然后从javascript访问它。
修改其值后,在提交时,应将该值更新回控制器
别忘了以如下形式填写:
@using (Html.BeginForm())
如果您希望基本上将
DateTime
属性转换为JSDate
,您可以尝试以下方法:
var jsDate = Date.parse('@Model.EndDate.ToUniversalTime().ToString("r")');
您只是想使用JavaScript显示日期/时间,还是需要将其作为JavaScript
date
对象?谢谢,这正是我想要的…没有完全像那样工作,但它有助于获得它:var jsDate=new date(parseInt(@(Model.EndDate.Year))、parseInt(@(Model.EndDate.Month))、parseInt(@(Model.EndDate.Day))代码>@SandraS。是的,我给出的示例不正确,因为JS中的Date
需要一个历元时间戳(而DateTime.millides
不会给出)。我已经更新了我的答案,比你正在使用的答案更简洁。此外,使用您的一个,您将丢失与日期相关的任何时间信息。如何修改它?我从中读取数据有困难。