在c中使用javascript日历设置值后,如何获取文本框的文本?

在c中使用javascript日历设置值后,如何获取文本框的文本?,javascript,asp.net,c#-2.0,Javascript,Asp.net,C# 2.0,我有一个asp:TextBox控件和一个与之关联的javascript日历函数 <asp:TextBox ID="txtFromDate" ReadOnly="true" runat="server" style="font-family:Verdana; font-size:11px;"></asp:TextBox> <a href="javascript: void(0);" onmouseover="if (timeoutId) clearTimeout(ti

我有一个asp:TextBox控件和一个与之关联的javascript日历函数

<asp:TextBox ID="txtFromDate" ReadOnly="true" runat="server" style="font-family:Verdana; font-size:11px;"></asp:TextBox>
<a href="javascript: void(0);" onmouseover="if (timeoutId) clearTimeout(timeoutId);window.status='Show Calendar';return true;" onmouseout="if (timeoutDelay) calendarTimeout();window.status='';" onclick="g_Calendar.show(event,'formAddCosting.txtFromDate',false); return false;">
<img src="Images/calendar.gif" name="calendarFromDate" width="34" border="0" alt="" /></a>
我可以从javascript日历中选择日期并将其显示在文本框中。但是,当我尝试在代码隐藏中检查文本框的日期以进行验证时,dtFrom=Convert.ToDateTimetxtFromDate.Text.ToString;在调试期间显示。如何从代码隐藏中获取文本框的值?我正在使用VB2005、ASP.Net2.0和C。提前感谢。

这是因为您的文本框是只读的:

所以,如果用户希望手动输入日期,请启用并验证它,或者使用HiddenField来存储日历中的日期

我推荐第一个选项,因为最好不要把用户当作孩子看待。

这是因为您的文本框是只读的:

所以,如果用户希望手动输入日期,请启用并验证它,或者使用HiddenField来存储日历中的日期


我建议使用第一个选项,因为最好不要把用户当作孩子看待。

采取以下步骤从TextBox获取值:

从文本框中删除ReadOnly=false属性,因为这是无法获取文本框值的唯一原因。原因是当使用ReadOnly=true或Enabled=false时,texytbox的值不会持久化到viewstate中

要使文本框在年龄加载函数的代码隐藏文件中为只读,请编写以下代码:

txtFromDate.Attributes.Addreadonly,readonly


采取以下步骤从TextBox获取值:

从文本框中删除ReadOnly=false属性,因为这是无法获取文本框值的唯一原因。原因是当使用ReadOnly=true或Enabled=false时,texytbox的值不会持久化到viewstate中

要使文本框在年龄加载函数的代码隐藏文件中为只读,请编写以下代码:

txtFromDate.Attributes.Addreadonly,readonly


@Tim Schmelter,我使用sFromDate=Request.Form[txtFromDate].ToString;这里,sFromDate是一个字符串变量。但是我不确定,为什么我需要使用Request.Form作为文本框已经是一个服务器控件了?顺便说一下,谢谢你的帮助@Tim Schmelter,还有一件事与问题无关,那就是如何在注释中标记代码行?@Tim Schmelter,我正在使用sFromDate=Request.Form[txtFromDate].ToString;这里,sFromDate是一个字符串变量。但是我不确定,为什么我需要使用Request.Form作为文本框已经是一个服务器控件了?顺便说一下,谢谢你的帮助@Tim Schmelter,还有一件事与问题无关,你如何在注释中标记代码行?