ASP.NET日期时间选择器
是否有任何好的免费/开源时间选择器控件与ASP.NET日历控件配合使用?由于它是我唯一使用的控件,我建议JQuery中的CalendarExtender具有最好的IMHO。虽然它不是特定于.Net的,但它仍然非常有效 HTML:ASP.NET日期时间选择器,asp.net,datetime,picker,Asp.net,Datetime,Picker,是否有任何好的免费/开源时间选择器控件与ASP.NET日历控件配合使用?由于它是我唯一使用的控件,我建议JQuery中的CalendarExtender具有最好的IMHO。虽然它不是特定于.Net的,但它仍然非常有效 HTML: 在head元素中: <script src="../../Scripts/jquery-1.3.2.min.js" language="javascript" type="text/javascript"/> <script src="../../
在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"/>
就这么简单
这是他们旗舰产品的免费版本,但它包含一个asp.net本机的日期和时间选择器。如果您使用的是bootstrap,请尝试。您的问题的答案是,是有很好的免费/开源时间选择器控件与asp.net日历控件配合使用 ASP.NET日历控件只编写一个HTML表 如果您使用的是HTML5和.NET Framework 4.5,则可以使用ASP.NET文本框控件,并将
TextMode
属性设置为“日期”、“月份”、“周”、“时间”或“DateTimeLocal”——或者如果您的浏览器不支持此功能,则可以将此属性设置为“DateTime”。
然后,您可以读取文本属性,从文本框中以字符串形式获取日期、时间、月或周
如果您使用的是.NET Framework 4.0或旧版本,那么您可以使用HTML5的
;如果您的浏览器不支持此功能,请使用
如果用户在日期字段中输入的信息需要服务器端代码(用C#或Visual Basic编写),则可以通过在输入标记中写入runat=“server”
来尝试在服务器上运行元素。
与所有ASP一样,请确保为该元素提供一个ID,以便您可以在服务器端访问它。
现在,您可以读取Value属性以获取字符串形式的输入日期、时间、月份或星期
如果无法在服务器上运行此元素,则除了
之外,还需要一个隐藏字段。有一个简单的现成实现:HTML5input type=“date”
和其他与日期相关的输入类型
好的,你不能对控件进行太多的样式化,但是从长远来看,如果所有现代浏览器都支持它,并且不想包含在移动设备上不总是那么好用的繁重的库,那么它仍然是一个非常好的选择。这是一个没有jquery的解决方案
在WebForm->Source of WebForm中添加日历和文本框有以下内容:
<asp:Calendar ID="Calendar1" runat="server" OnSelectionChanged="DateChange">
</asp:Calendar>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
方法DateChange与日历事件SelectionChanged连接。看起来是这样的:
在文本框中添加以下内容:
textmode="Date"
它为您提供了如下漂亮的日期选择器:
这方面的其他变化包括:
textmode="DateTime"
它给你这样的感觉:
如果要使用文本框,请注意,将TextMode属性设置为“日期”在Internet Explorer 11上不起作用,因为它当前不支持“日期”、“日期时间”或“时间”值
此示例演示了如何使用文本框实现它,包括日期验证(因为用户可以只输入数字)。它将在InternetExplorer11以及其他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>
$(函数(){
$("#
)。日期选择器();
});
日期无效,请检查格式。
这很有效
<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" />
您是否看到或尝试过jQuery UI?有一个datetime选择器工作得非常好。下面是指向该选择器的链接:sebastian&john,我没有尝试过jquery。界面看起来很棒,我要试试。再次感谢。更新:我认为jQuery更好。我尝试了一下&它工作得很好。上次我尝试使用这个工具包时,我放弃了第一次需要定制/扩展的东西。源代码太可怕了。我当然希望他们从那时起有所改进,但根据我的经验(以及大量更好的Ajax控制选项,如Ext、YUI、Dojo等),我会像瘟疫一样避免使用整个库。现在,我正在使用ajaxcontroltoolkit for calendar,但它不支持时间组件MaskedEdit能给你想要的吗?它将工作,但不是非常友好的用户。它应该像前面提到的jquery演示一样轻松,但是我在将它与asp集成时遇到了问题。net@Chuck-我接受了您的解决方案,但让您知道您缺少datepicker所需的以下实例化。”$(“#Date”).datepicker();'如果我错了,请纠正我,但是这个jQuery控件不支持“DateTime”的“Time”部分。我错了吗?我看不出这个控件是如何作为日期选择器的,因为它只是一个日期选择器。@SoftwareGeek我在哪里添加这个instantiation@AbdallahRizk在标签页的底部。
textmode="DateTimeLocal"
<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>
@Html.EditorFor(model => model.Date, new { htmlAttributes = new { @class = "form-control", @type = "date" } })
<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" />