ASP.NET TextBox TextMode设置为日期在IE 11中不起作用

时间:2014-09-10 20:48:26

标签: asp.net internet-explorer

<asp:TextBox ID="txtDate" runat="server" TextMode="Date" />

它适用于Chrome,但不适用于Firefox或IE 11.谷歌搜索并没有产生很多有用的答案。据我所知,IE 11符合HTML5标准。

2 个答案:

答案 0 :(得分:2)

TextMode属性通常对应<input type="" />属性(multiline除外,它会呈现<textarea />)。 ASP.NET 4.x引入了与新HTML5输入类型相对应的附加值。

Internet Explorer 11不支持大多数这些新输入类型,特别是它目前不支持&#34; date&#34;,&#34; datetime&#34; ,也不是&#34; time&#34;值。 http://caniuse.com/#feat=input-datetime但Chrome,Opera和Mobile Safari目前都有。

答案 1 :(得分:1)

有一种解决方法可以完成此任务。在页面顶部添加以下引用和脚本:

<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" />
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

     <script type="text/javascript">
    $(function () {
        $('.date').datepicker({
            changeYear: true,  //Recently added
            changeMonth: true  //Recently added
        }
        );
    });
</script>  

然后将这些属性应用于文本框:

<asp:TextBox ID="txt_desired_id" runat="server" placeholder="mm/dd/yyyy" autocomplete="off" MaxLength="10" class="date" />

我还测试了将文本框放置在gridview和转发器中的效果,并且可以在IE 11中完美运行。

编辑:在该函数的代码中,我包括一些方便的功能,这些功能使用户可以更快地选择月份和年份,以防万一过去需要走得更远。