繁体   English   中英

无法从asp.net页(C#)中的jQuery datetime选择器捕获datetime值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM