ASP.NET DateTime Picker

时间:2009-09-24 00:43:45

标签: asp.net datetime picker

是否有任何好的免费/开源时间选择控件与ASP.NET日历控件配合良好?

11 个答案:

答案 0 :(得分:33)

您的问题的答案是,有任何良好的免费/开源时间选择器控件,与ASP.NET日历控件配合良好。

ASP.NET Calendar控件只写一个html表。

如果您使用的是HTML5和DOT.NET Framework 4.5,则可以使用ASP.NET TextBox控件,并将TextMode属性设置为" Date"或" Month&#34 ;或者"周"或者"时间"或" DateTimeLocal"或者,如果您使用Chrome或Firefox或Internet Explorer,则您还可以将此属性设置为" DateTime"。

然后读取Text属性以从TextBox中获取日期,时间,月或周作为字符串。

如果您使用的是DOT.NET Framework 4.0或更早版本,那么您可以使用html5输入类型="日期"或输入类型="月"或输入类型="周"或输入类型="时间"或输入类型=" datetime-local"或者如果您使用Chrome或Firefox或Internet Explorer,那么您也可以使用输入类型=" datetime"。

如果您需要在服务器端代码(用C#或Visual Basic编写)用户在日期字段中输入的信息,那么您可以尝试通过在输入标记{{1内写入 - 在服务器上运行此元素}}

还要为此元素指定一个id,以便您可以在服务器端代码上访问它。 读取Value属性以将输入日期,时间,月份或周作为字符串。如果您无法在服务器上运行此元素,那么除了输入类型=" date"之外,还需要一个隐藏字段。或"时间"或"月"或者"周"。 在提交函数(用javascript编写)中,将隐藏字段的值设置为输入类型的值="日期"或者"时间"或者"月&# 34;或者"周",然后在服务器端代码上,将该隐藏字段的Value属性读作字符串。

确保html的隐藏字段元素可以在服务器上运行。

希望有所帮助。

答案 1 :(得分:25)

JQuery拥有最好的datepicker恕我直言。虽然它不是特定的.Net仍然很有用。

HTML:

<input type="text" value="9/23/2009" style="width: 100px;" readonly="readonly" name="Date" id="Date" class="hasDatepicker"/>

在head元素中:

<script src="../../Scripts/jquery-1.3.2.min.js" language="javascript" type="text/javascript"/>
<script src="../../Scripts/jquery-ui-1.7.1.custom.min.js" type="text/javascript"/>

这很简单!

答案 2 :(得分:8)

由于这是我用过的唯一一个,我会建议http://www.ajaxcontroltoolkit.com/

中的CalendarExtender

答案 3 :(得分:6)

在文本框中添加以下内容:

textmode="Date"

它为您提供美观的Datepicker,如下所示:

DatePicker

此的其他变体是:

textmode="DateTime"

它给你这样的样子:

Date Time Picker

textmode="DateTimeLocal"

答案 4 :(得分:4)

这是没有jquery的解决方案。

在WebForm中添加日历和文本框 - &gt; WebForm的来源有:

 define(['loginApp'], function(app)
 {
     app.controller('loginController',
     [
         '$scope',

         function($scope)
         {
             //...
         }
     ]);
 });

在WebForm的cs文件中创建方法:

<asp:Calendar ID="Calendar1" runat="server" OnSelectionChanged="DateChange">
</asp:Calendar>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

方法DateChange与Calendar事件SelectionChanged连接。它看起来像这样: DatePicker Image

答案 5 :(得分:3)

Basic Date Picker Lite

这是他们的旗舰产品的免费版本,但它包含asp.net的日期和时间选择器。

答案 6 :(得分:3)

如果您使用的是bootstrap,请尝试bootstrap-datepicker

答案 7 :(得分:2)

有一个简单的,开箱即用的实现:HTML 5 input type="date"和其他与日期相关的输入类型。

好的,你可以设置很多控件的样式doesn't work on every browser,但如果所有现代浏览器都支持它并且不想要它,那么从长远来看它仍然是一个非常好的选择包括重型图书馆,这些图书馆在移动设备上总是不那么好用。

答案 8 :(得分:2)

<asp:TextBox ID="TextBox1" runat="server" placeholder="mm/dd/yyyy" Textmode="Date" ReadOnly = "false"></asp:TextBox>
<asp:Button ID="btnSave" runat="server" Text="Save" onclick="btnSave_Click" />

答案 9 :(得分:0)

如果要使用文本框,请注意将TextMode属性设置为“ Date”在Internet Explorer 11上将不起作用,因为它当前不支持“ Date”,“ DateTime”或“ Time” “值。

此示例说明了如何使用文本框来实现它,包括日期的验证(因为用户只能输入数字)。它可以在Internet Explorer 11以及其他Web浏览器上使用。

<asp:Content ID="Content" ContentPlaceHolderID="MainContent" runat="server">

    <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>
        $(function () {
            $("#<%= txtBoxDate.ClientID %>").datepicker();
        });

    </script>    

     <asp:TextBox ID="txtBoxDate" runat="server" Width="135px" AutoPostBack="False" TabIndex="1" placeholder="mm/dd/yyyy" autocomplete="off" MaxLength="10"></asp:TextBox>                    
     <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="txtBoxDate" Operator="DataTypeCheck" Type="Date">Date invalid, please check format.</asp:CompareValidator>                 

</asp:Content>

答案 10 :(得分:0)

@Html.EditorFor(model => model.Date, new { htmlAttributes = new { @class = "form-control", @type = "date" } })

这很好用