3

在 Asp.Net MVC 中,我有一个包含类型属性的模型DateTime

如何在 JavaScript 中访问它?

使用@(Model.PrimitiveTypeProperty)效果很好,但对于DateTime.

问题更复杂,但我至少需要改变这个值。
可能吗?

4

3 回答 3

3

你可以把它隐藏起来,例如:

 @Html.HiddenFor(model => model.YourDate)

然后从 javascript 访问它。修改它的值后,在提交时,您应该将值更新回控制器。

并且不要忘记输入如下形式:

@using (Html.BeginForm())
于 2012-10-03T10:52:39.830 回答
2

从您的模型中,您应该具有 DateTime 属性。

public class YourModel {

   public DateTime YourDateField { get; set; }

}

然后在你的View你可以做:

@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"; 

更改日期客户端。如果你的视图有一个Form元素,当它被提交回服务器时,传回的值将反映更改(01/01/2000)。

于 2012-10-03T10:50:40.860 回答
1

如果您希望基本上将您的DateTime属性转换为 JS Date,您可以尝试以下操作:

var jsDate = Date.parse('@Model.EndDate.ToUniversalTime().ToString("r")');
于 2012-10-03T10:52:40.797 回答