asp.net mvc 3访问javascript中的DateTime模型属性

时间:2012-10-03 10:46:54

标签: javascript jquery asp.net-mvc asp.net-mvc-3

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

如何在JavaScript中访问它?

使用@(Model.PrimitiveTypeProperty)可以正常工作,但不适用于DateTime的属性。

问题更复杂,但我需要至少对此值进行修改 有可能吗?

3 个答案:

答案 0 :(得分:3)

您可以将其置于隐藏状态,例如:

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

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

不要忘记以下列形式输入:

@using (Html.BeginForm())

答案 1 :(得分: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"; 

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

答案 2 :(得分:0)

如果您希望将DateTime属性基本上翻译为JS Date,可以尝试以下方法:

var jsDate = Date.parse('@Model.EndDate.ToUniversalTime().ToString("r")');