簡體   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