Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET日期字段-具有/&引用;在输入期间停留?_C#_Asp.net - Fatal编程技术网

C# ASP.NET日期字段-具有/&引用;在输入期间停留?

C# ASP.NET日期字段-具有/&引用;在输入期间停留?,c#,asp.net,C#,Asp.net,我正在为我的公司构建我的第一个ASP.NET web应用程序(以前从未在C#或ASP.NET中开发过任何东西),因此,如果我问了一些愚蠢的问题,我深表歉意——我搜索了,但找不到任何相关的东西,但这可能是因为我不知道诚实地搜索什么 Anywho:我正在尝试开发一个“生日”字段,当用户键入时,“mm/dd/yyyy”中的“/”在该字段中保持固定/静态 按照我现在的代码方式,当用户开始输入任何信息时,代码会被覆盖 Birth Date: <asp:TextBox

我正在为我的公司构建我的第一个ASP.NET web应用程序(以前从未在C#或ASP.NET中开发过任何东西),因此,如果我问了一些愚蠢的问题,我深表歉意——我搜索了,但找不到任何相关的东西,但这可能是因为我不知道诚实地搜索什么

Anywho:我正在尝试开发一个“生日”字段,当用户键入时,“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”。我不知道这种情况的恰当说法是什么


谢谢大家!

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>