C# ASP.NET日期字段-具有/&引用;在输入期间停留?
我正在为我的公司构建我的第一个ASP.NET web应用程序(以前从未在C#或ASP.NET中开发过任何东西),因此,如果我问了一些愚蠢的问题,我深表歉意——我搜索了,但找不到任何相关的东西,但这可能是因为我不知道诚实地搜索什么 Anywho:我正在尝试开发一个“生日”字段,当用户键入时,“mm/dd/yyyy”中的“/”在该字段中保持固定/静态 按照我现在的代码方式,当用户开始输入任何信息时,代码会被覆盖C# ASP.NET日期字段-具有/&引用;在输入期间停留?,c#,asp.net,C#,Asp.net,我正在为我的公司构建我的第一个ASP.NET web应用程序(以前从未在C#或ASP.NET中开发过任何东西),因此,如果我问了一些愚蠢的问题,我深表歉意——我搜索了,但找不到任何相关的东西,但这可能是因为我不知道诚实地搜索什么 Anywho:我正在尝试开发一个“生日”字段,当用户键入时,“mm/dd/yyyy”中的“/”在该字段中保持固定/静态 按照我现在的代码方式,当用户开始输入任何信息时,代码会被覆盖 Birth Date: <asp:TextBox
Birth Date:
<asp:TextBox runat="server" ID="birthday" Text='mm/dd/yyyy'/>
<asp:CompareValidator runat="server" ID="CompareValidator_birthday" Type="Date" Operator="DataTypeCheck" ControlToValidate="birthday" Text="Invalid Date" Display="Dynamic" Font-Bold="true" ForeColor="red" />
<asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator_birthday" ControlToValidate="birthday" Text="Required" Display="Dynamic" Font-Bold="true" ForeColor="red"/>
出生日期:
我真的不想使用JQuery日期选择器或类似的东西;我们的用户非常多样化,有些人可能会发现使用它很困难。我试图让他们尽可能简单:
一个日期字段,在用户键入时保留“/”,并像我已经做的那样预加载“mm/dd/yyyy”。我不知道这种情况的恰当说法是什么
谢谢大家! D Stanley关于MaskedEditExtender的建议正是我想要的 然而:ConnorsFan的解决方案最终是我为“出生日期”这一特殊情况所选择的 事实上,我在项目的不同地方都采纳了这两个建议,下面是我如何做到这两个方面的: 这就是我所拥有的,然后是运行它的代码(包括验证器和所有)
出生日期:
键入时“/”将停留
<div class="col-xs-6 text-right">
<b>Reported Date:</b><br>
</div>
<div class="col-xs-6">
<asp:TextBox
runat="server"
ID="TextBox_ReportedDate"
class="form-control"
style="max-width:125px" />
<asp:RegularExpressionValidator
ID="RegularExpressionValidator_ReportedDate"
runat="server"
ControlToValidate="TextBox_ReportedDate"
ErrorMessage="Invalid date"
ValidationExpression="^^((0[1-9])|(1[0-2]))\/((0[1-9])|(1[0-9])|(2[0-9])|(3[0-1]))\/(\d{4})$"
Display="Dynamic"
SetFocusOnError="True"
Font-Bold="true"
ForeColor="red" />
<ajaxToolkit:MaskedEditExtender ID="maskededitextender_ReportedDate" runat="server" TargetControlID="TextBox_ReportedDate" Mask="99/99/9999" MaskType="Date" AcceptNegative="None" />
</div>
报告日期:
谢谢大家的帮助!我希望这篇文章对其他人有用。寻找“蒙面文本框”控件。框架没有内置任何东西。如果是我,我不会寻找ASP.NET解决方案,而是寻找HTML/Javascript解决方案。无论如何,你想要的是客户端。我可能会从文本框上的onKeyDown侦听器开始,该侦听器具有在适当的时间插入/的逻辑,禁止非数字字符,等等。这并不完全回答您的问题,但Patrick McElhaney提出了一个很好的建议:三个下拉列表()。
<div class="col-xs-6 text-right">
<b>Reported Date:</b><br>
</div>
<div class="col-xs-6">
<asp:TextBox
runat="server"
ID="TextBox_ReportedDate"
class="form-control"
style="max-width:125px" />
<asp:RegularExpressionValidator
ID="RegularExpressionValidator_ReportedDate"
runat="server"
ControlToValidate="TextBox_ReportedDate"
ErrorMessage="Invalid date"
ValidationExpression="^^((0[1-9])|(1[0-2]))\/((0[1-9])|(1[0-9])|(2[0-9])|(3[0-1]))\/(\d{4})$"
Display="Dynamic"
SetFocusOnError="True"
Font-Bold="true"
ForeColor="red" />
<ajaxToolkit:MaskedEditExtender ID="maskededitextender_ReportedDate" runat="server" TargetControlID="TextBox_ReportedDate" Mask="99/99/9999" MaskType="Date" AcceptNegative="None" />
</div>