【发布时间】:2016-07-27 05:36:46
【问题描述】:
我正在为我的公司构建我的第一个 ASP.NET Web 应用程序(之前从未在 C# 或 ASP.NET 中开发过任何东西),所以如果我问了一些愚蠢的问题,我深表歉意——我搜索了但找不到任何东西相关性,但这可能是因为我不知道诚实地搜索什么。
任何人:我正在尝试开发一个“生日”字段,其中“mm/dd/yyyy”中的“/”在用户键入时在该字段中保持固定/静态。
我现在拥有我的代码的方式,当用户开始输入任何信息时它会被覆盖。
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”。我不知道这种情况的正确术语是什么。
谢谢!
【问题讨论】:
-
寻找“蒙版文本框”控件。框架没有内置任何内容。
-
如果是我,我不会寻找 ASP.NET 解决方案,而是寻找 HTML/Javascript 解决方案。无论如何,您想要的是客户端。我可能会从文本框上的 onKeyDown 侦听器开始,该侦听器具有在适当时间插入 / 的逻辑,禁止非数字字符等。
-
没有完全回答您的问题,但 Patrick McElhaney 提出了一个很好的建议:三个下拉列表 (stackoverflow.com/questions/339956/…)。