我在.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中的日期的正确方法是什么?
答案 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]);