模型绑定很容易。不要害怕。强类型视图使您的代码保持干净,以便将来的可读性和可维护性。微软发布了这些新功能供我们这样的人使用。我们不应该害怕那些!
为什么不使用属性来保存 DateTime 值并使用其他一些库为最终用户提供良好的日期选择体验?jQuery UI 日历是您能想到的一种选择。
http://jqueryui.com/demos/datepicker/
将 DateTime 类型属性添加到您的 ViewModel
public class AlbumViewModel
{
public int ID { set;get;}
public DateTime CreatedDate { set;get;}
}
并且在您的 get 操作方法中,您可以将此视图模型的对象返回给视图。
public ActionResult AddAlbum()
{
AlbumViewModel objItem=new AlbumViewModel();
return View(objItem);
}
使用此视图模型的强类型视图并使用 jQuery UI 日历获取日历。
@model AlbumViewModel
//include jQuery and jQuery UI
@using (Html.BeginForm())
{
<p>Select Date
@Html.TextBoxFor(m=>m.CreatedDate)
<input type="submit" value="Save" />
</p>
}
<script type="text/javascript">
$(function() {
$( "#CreatedDate").datepicker();
});
</script>
并在您的帖子中
[HttpPost]
public ActionResult AddAlbum(AlbumViewModel objItem)
{
//Check the objItem.CreatedDate here. Save it or do whatever you want
return View(objItem);
}