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