日期返回 asp 工具?
Date returning asp tools?
我正在尝试构建一个 asp.net 网络应用程序,我正在使用 SQL 服务器作为我的数据库。所以现在我需要在屏幕上有一个文本框(或其他),用户必须在其中输入他们的出生日期......但我特别需要的一件事是这个输入(?)必须return C# 页面中的日期时间值。因为代码必须看到这个日期并检查这个人是否大于 18 岁。
首先我想到了这样的东西:
<asp:TextBox CssClass="form-control" ID="TextBoxDOB" runat="server" TextMode="Date"/>
但如你所想;当我将此文本框称为:TextBoxDOB.Text
它 return 是一个字符串值,程序无法判断此人是否超过 18 岁。
下一步:我尝试了这种 <asp:Calendar>
类型的条目。但是在网页上看起来太大了。也许我可以改变它的外观,但我无法弄清楚 'Calendar' returns.
是什么类型
此外,在定义此人足够大之后,我需要将此信息插入我的 SQL 数据 table。在那种情况下,假设 DOB 列的数据类型是“日期”,我是否能够将用户 DOB 插入到我的 SQL... C# 中此用户输入的 DateTime 值是否为 SQL 的 acceptable?
谢谢
如果您将文本框设置为日期,那么它会产生一个日期值。
因此,如果您在表单上放置一个文本框 - 设置为日期,那么您会得到:
值将被强制(没有字母或字符)。
所以,现在上面按钮背后的代码可以做到这一点:
Dim MyDate As Date
MyDate = TextBox2.Text
If DateDiff(DateInterval.Year, MyDate, Date.Today) >= 18 Then
Debug.Print("is 18 or older")
Else
Debug.Print("is under 18")
End If
因此,.net 将为您从 sting 到 date 投射。我本可以跳过上面的变量,甚至这样做:
If DateDiff(DateInterval.Year, Textbox2.Text, Date.Today) >= 18 Then
Debug.Print("is 18 or older")
Else
Debug.Print("is under 18")
End If
更新数据库也是如此。
例如:
cmdSQL.Parameters.Add("@MyDate", SqlDbType.DateTime).Value = TextBox2.Text
因此,大多数时候您可以简单地允许 .net 自动“转换”值,但为了安全起见,可以像第一个示例所示那样将值推入日期(或日期时间)变量,然后使用在你的代码中。
我还应该注意将文本框设置为日期格式的行为,然后您将获得一个免费的内置日期选择,如上所示。
上面的标记是这样的(网络表单设计器 - 拖放)。
<asp:TextBox ID="TextBox1" runat="server" Width="261px"></asp:TextBox>
<br />
<br />
<asp:Button ID="Button2" runat="server" Text="Button" Width="73px" />
我正在尝试构建一个 asp.net 网络应用程序,我正在使用 SQL 服务器作为我的数据库。所以现在我需要在屏幕上有一个文本框(或其他),用户必须在其中输入他们的出生日期......但我特别需要的一件事是这个输入(?)必须return C# 页面中的日期时间值。因为代码必须看到这个日期并检查这个人是否大于 18 岁。 首先我想到了这样的东西:
<asp:TextBox CssClass="form-control" ID="TextBoxDOB" runat="server" TextMode="Date"/>
但如你所想;当我将此文本框称为:TextBoxDOB.Text
它 return 是一个字符串值,程序无法判断此人是否超过 18 岁。
下一步:我尝试了这种 <asp:Calendar>
类型的条目。但是在网页上看起来太大了。也许我可以改变它的外观,但我无法弄清楚 'Calendar' returns.
此外,在定义此人足够大之后,我需要将此信息插入我的 SQL 数据 table。在那种情况下,假设 DOB 列的数据类型是“日期”,我是否能够将用户 DOB 插入到我的 SQL... C# 中此用户输入的 DateTime 值是否为 SQL 的 acceptable?
谢谢
如果您将文本框设置为日期,那么它会产生一个日期值。
因此,如果您在表单上放置一个文本框 - 设置为日期,那么您会得到:
值将被强制(没有字母或字符)。
所以,现在上面按钮背后的代码可以做到这一点:
Dim MyDate As Date
MyDate = TextBox2.Text
If DateDiff(DateInterval.Year, MyDate, Date.Today) >= 18 Then
Debug.Print("is 18 or older")
Else
Debug.Print("is under 18")
End If
因此,.net 将为您从 sting 到 date 投射。我本可以跳过上面的变量,甚至这样做:
If DateDiff(DateInterval.Year, Textbox2.Text, Date.Today) >= 18 Then
Debug.Print("is 18 or older")
Else
Debug.Print("is under 18")
End If
更新数据库也是如此。
例如:
cmdSQL.Parameters.Add("@MyDate", SqlDbType.DateTime).Value = TextBox2.Text
因此,大多数时候您可以简单地允许 .net 自动“转换”值,但为了安全起见,可以像第一个示例所示那样将值推入日期(或日期时间)变量,然后使用在你的代码中。
我还应该注意将文本框设置为日期格式的行为,然后您将获得一个免费的内置日期选择,如上所示。
上面的标记是这样的(网络表单设计器 - 拖放)。
<asp:TextBox ID="TextBox1" runat="server" Width="261px"></asp:TextBox>
<br />
<br />
<asp:Button ID="Button2" runat="server" Text="Button" Width="73px" />