2012-04-09 59 views
0

与布线向上日期选择器日期选择器不保存到数据库

为局部视图的代码

@model System.DateTime 
@Html.TextBox("", Model.ToString("dd/MM/yy"), new { @class = "date" }) 

为视图的代码

@Html.TextBox("DateTime", (Model.AdvertStartDate.ToString()), new { @class = "date" }) 

脚本

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> 

问题用于datepick的代码呃

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('.date').datepicker 
     ({ 
      dateFormat: 'dd/mm/yy', 
      showStatus: true, 
      showWeeks: true, 
      currentText: 'Now', 
      autoSize: true, 
      gotoCurrent: true, 
      showAnim: 'blind', 
      highlightWeek: true 

     }); 
    }); 
</script> 

代码模型

[Required] 
    public DateTime AdvertStartDate { get; set; } 

的日期插入文本框,但在数据库中

您能否提供任何缺失没有更新?

+0

尝试选择此日期“1/1/2012”一边保存,这是否也行不通,我想我知道这个问题,但你先试试这个,让我知道 – Yasser 2012-04-09 10:31:21

+0

仍然不起作用! – 2012-04-09 10:36:09

+0

嗯,好的,你如何保存日期填满? – Yasser 2012-04-09 10:40:28

回答

1

我认为由TextBox("DateTime",...)呈现的HTML <input>元素没有正确的名称(名称将为“DateTime”),因此在将数据发布到数据时,它不会正确绑定到您的模型属性AdvertStartDate服务器。

你的“局部视图”看起来像一个EditorTemplate给我。在这种情况下,你应该能够在你看来只是用这样的:

@Html.EditorFor(model => model.AdvertStartDate) 

因为AdvertStartDate类型为DateTime包括的DatePicker的EditorTemplate应该用于渲染输入元素。

如果EditorTemplate文件还有另一个名字比DateTime.cshtml - 像AnotherTemplateName.cshtml - 你可以明确地指定模板:

@Html.EditorFor(model => model.AdvertStartDate, "AnotherTemplateName") 
0

Datapicker是不是在MVC应用程序中实现了轻松的元素。

尝试condsider接下来的事情:

  1. 确保从数据选择器数据发送到服务器(datapicker应该有适当的名称)
  2. 确保datapicker DATAFORMAT相同应用程序的数据格式(这可能与选定的文化有所不同) - 在这种情况下,数据被发送到服务器,但并不总是有效的,因为31.01会被转换为第31个月,日期1.
相关问题