[英]Unable to capture datetime value from jquery datetime picker in asp.net page (C#)
很简单,这是js:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js" type="text/javascript"></script>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="Stylesheet" type="text/css" />
<script type="text/javascript">
$(function () {
$("[id$=txt_Date]").datepicker({
});
});
//Set the default date today
$(document).ready(function () {
var currentDate = new Date();
$("#txt_Date").datepicker("setDate", currentDate);
});
</script>
这是页面上的控件。 该页面具有母版页,并且在内容区域中,控件嵌套在asp:Table,asp:TableRow,asp:TableCell结构中。
<asp:TextBox ID="txt_Date" columns="30" runat="server" ReadOnly="true" name="RequestDate"></asp:TextBox>
这是我尝试捕获submit_click值的背后代码:
Date = Convert.ToDateTime(Request.Form["txt_Date"]);
我也尝试过:
Date = Convert.ToDateTime(Request.Form["RequestDate"]);
每次尝试都返回01/01/0001作为我猜测是从控件读取NULL值时的默认日期,我确信这可能很简单,但我一定会错过它。
您可以简单地使用:
Date = Convert.ToDateTime(txt_Date.Text);
我注意到另一件事是不需要的
$(function () {
$("[id$=txt_Date]").datepicker({
});
});
由于您已经在文档就绪事件中编写初始化和赋值。
因为ReadOnly设置为true,所以Request.Form
将不包含您的数据。 您可以按照另一个答案中的建议访问Text属性,也可以删除ReadOnly属性,我认为这是更好的选择。 通常最好是通过验证来处理用户输入,而不是尝试限制所述输入(我记得有一天,每个人都认为禁用“后退”按钮是个好主意)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.