如何获取datepicker发布的日期?

时间:2012-12-04 17:21:05

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

我有这个观点:

$('#datepicker').datepicker({
    onSelect: function (date, inst){
        $(this).parent('form').submit();
    }
});

<form method="post" name="datepickerForm">
    <div id="datepicker"></div>
</form>
Date Posted: @ViewBag.PostedDate

在控制器中,我有:

public ActionResult Index(int? datepickerForm) {
    if(datepickerForm.HasValue) // this is always null
        ViewBag.PostedDate = datepickerForm.Value;
}

4 个答案:

答案 0 :(得分:0)

div更改为input

<input id="datepicker" name="date" />

答案 1 :(得分:0)

在视图中包含以下代码

$('#datepicker').datepicker({
onSelect: function (date, inst){
    $(this).parent('form').submit();
} 
 });

 <form method="post" name="datepickerForm">
 <input id="datepicker"/>
  </form>

在控制器中有以下代码

public ActionResult Index(int? datepicker) {
//datepicker id of input element
    ViewBag.PostedDate = datepicker;
}

由于

答案 2 :(得分:0)

使用

<input id="datepicker" name="date" />

而不是

<div id="datepicker"></div>

阅读this,文章演示了使用datepicker并将数据发送/发布回控制器的正确方法。

答案 3 :(得分:0)

我最终使用div进行展示,input textbox发布日期。

$('#datepicker').datepicker({
    onSelect: function (date, inst){
        $('#datepickerTxt').val(date);
        $(this).parent('form').submit();
    }
});

<form method="post" name="datepickerForm">
    <div id="datepicker"></div>
    <input type="text" id="datepickerTxt" name="datepickerTxt" />
</form>
Date Posted: @ViewBag.PostedDate

在控制器中,我有:

public ActionResult Index(string datepickerTxt) {
    if(!string.IsNullOrEmpty(datepickerTxt)
        ViewBag.PostedDate = datepickerTxt;
}