将值从JQuery Datepicker传递给后面的代码

时间:2015-11-09 06:18:18

标签: javascript c# jquery asp.net jquery-ui-datepicker

我在.aspx文件中使用JQuery Datepicker。

我需要在我的代码隐藏文件中使用日期值。这是我的功能,我想更新我的页面上的隐藏值,我可以在后面的代码中使用。

$(function () {
    $("#datepicker").datepicker({ minDate: 0,
        onSelect: function () {
            var dueDate= document.getElementById('dueDate');
            dueDate.value = $(this).datepicker('getDate');
        }
    });
});

我想要更新的隐藏值,它位于同一个.aspx页面上:

<Input id="dueDate" type="hidden" runat="server" />

现在在我的代码背后,我想像这样使用日期:

DateTime due= dueDate.Value;

这给了我一个错误:

Cannot implicitly convert type 'string' to 'System.DateTime'    

使用

时出现同样的错误
DateTime due = Convert.ToDateTime(dueDate.Value);

在后面的代码中使用Datepicker中的日期的正确方法是什么?

3 个答案:

答案 0 :(得分:3)

DateTime.Parse(...)

DateTime.ParseExact(...)

DateTime.Parse("01/01 2010");

或使用

DateTime.TryParse

如果您不确定每次都转换为哪种类型,即。并不总是约会,所以试试这4并检查

答案 1 :(得分:1)

提供datepicker的名称

<Input id="dueDate" name = "dueDate" type="hidden" runat="server" />

并使用以下

String text = Page.Request.Form["dueDate"]

答案 2 :(得分:1)

考虑在.aspx文件中使用以下代码,删除runat服务器:

<input type="hidden" id="dueDate" name="dueDate" value="" />

现在在jquery datepicker函数中进行以下更改:

$(function () {
    $("#datepicker").datepicker({
        minDate: 0,
        dateFormat: "dd-mm-yyyy",
        onSelect: function() {
            $("#dueDate").val() = $(this).datepicker("getDate");
        }
    });
}

这样,只要更改了datepicker控件的值,就会更新dueDate的隐藏字段值。此外,由于您的隐藏字段现在具有与之关联的名称和值属性,因此只要您的表单发布,您的代码就会收到其值作为字符串

现在在您的代码隐藏文件中,按如下所示创建DateTime对象:

string[] dueDateSplit = Request.Form["dueDate"].Split('-');
DateTime due = new DateTime(dueDateSplit[2], dueDateSplit[1], dueDateSplit[0]);
相关问题