id的当前上下文不存在

时间:2012-08-29 03:11:30

标签: c# asp.net

如何从日期选择器中获取会话?

对于我的所有文本框,我都使用:

 Session["location"] = DropDownList1.SelectedItem.Text;
 Session["time"] = DropDownList2.SelectedItem.Text;
 Session["day"] = DropDownList3.SelectedItem.Text;  
 Session["IsChauffeurUsed"] = DropDownList4.SelectedItem.Text;

但对于我的文本框日期选择器,当我编写代码时

 Session["date"] = datepicker.Text;

它给我一个错误,当前的上下文不存在。 日期选择器文本框为:

<div class="demo"><p>Date: <input type="text" id="datepicker"></p></div>

希望你能提供帮助。

感谢。

1 个答案:

答案 0 :(得分:2)

设置runat=server属性以将html标记转换为Html服务器控件。

<input type="text" runat="server" id="datepicker">

并使用value属性,因为它现在是ASP.NET Web服务器控件。

Session["date"] = datepicker.Value;

编辑:这在我身边很有效。

<head runat="server">
    <title></title>
    <link rel="Stylesheet" type="text/css" href="http://code.jquery.com/ui/jquery-ui-git.css" />
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $("#datePicker").datepicker();
            $("#<%=TextBox1.ClientID %>").datepicker();
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input type="text" id="datePicker" runat="server" />
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </div>
    </form>
</body>