asp.net – 如何通过render事件禁用CalendarExtender控件中的先
基本上,我只想让选择日期大于今天.我更喜欢这种方式来避免显示警报消息.
解决方法
我不认为当前版本的Toolkit支持限制可选日期.这是处理ClientDateSelectedChanged-Event并验证所选日期的简单解决方法:
可能存在您不希望用户选择比当前日期早一天的情况.例如:当您向用户提供表单以预订票证时,您不希望他选择较早的日期.要达到此要求,请使用以下JavaScript代码.
<head runat="server"> <title>Calendar Extender</title> <script type="text/javascript"> function checkDate(sender,args) { if (sender._selectedDate < new Date()) { alert("You cannot select a day earlier than today!"); sender._selectedDate = new Date(); // set the date back to the current date sender._textbox.set_Value(sender._selectedDate.format(sender._format)) } } </script> </head> 调用代码: <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server" /> <div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <cc1:CalendarExtender ID="CalendarExtender1" runat="server" OnClientDateSelectionChanged="checkDate" TargetControlID="TextBox1" /> </div> </form>
在javascript中,只需更改此行即可
向Calendar添加验证的一种简单方法是将ValidationControl添加到与CalendarExtender关联的文本框中.你有两个选择: >将Extender添加到ValidationControl.为此,请拖放ValidationControl>点击ValidationControl的智能标签>选择添加扩展器.从Extender向导中,选择ValidatorCalloutExtender.使用此方法可以非常轻松地将控件扩展器发现并附加到控件上.在VS 2005中,您必须通过连接控制扩展器手动执行此过程. 添加CompareValidator <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="TextBox1" Display="Dynamic" ErrorMessage="Invalid Date" Operator="DataTypeCheck" Type="Date"> </asp:CompareValidator> <cc1:ValidatorCalloutExtender ID="CompareValidator1_ValidatorCalloutExtender" runat="server" Enabled="True" TargetControlID="CompareValidator1"> </cc1:ValidatorCalloutExtender> Adding RangeValidator – We will restrict the user to select a date range starting from today to 15 days from now. <asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="RangeValidator" Type="Date"> </asp:RangeValidator> <cc1:ValidatorCalloutExtender ID="RangeValidator1_ValidatorCalloutExtender" runat="server" Enabled="True" TargetControlID="RangeValidator1"> </cc1:ValidatorCalloutExtender> 在页面后面的代码中,添加此代码 protected void Page_Load(object sender,EventArgs e) { RangeValidator1.MinimumValue = System.DateTime.Now.ToShortDateString(); RangeValidator1.MaximumValue = System.DateTime.Now.AddDays(15).ToShortDateString(); } VB.NET Protected Sub Page_Load(ByVal sender As Object,ByVal e As EventArgs) RangeValidator1.MinimumValue = System.DateTime.Now.ToShortDateString() RangeValidator1.MaximumValue = System.DateTime.Now.AddDays(15).ToShortDateString() End Sub 那些是与CalendarExtender相关的一些提示.随着工具包的未来版本的发布,我们应该希望能够以更简单的方式实现此功能. 来自:http://www.dotnetcurry.com/ShowArticle.aspx?ID=149 另一种高级方法是扩展CalendarExtender javascript,但是你有自己的自定义版本的ajax工具包. http://codegoeshere.blogspot.com/2007/06/extending-calendarextender.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 如何让Controller Action采用动态参数?
- asp.net – 我的通用ActionLink在哪里?
- asp.net – 如何确定HttpModules的执行顺序?
- asp.net-core – 如何从.net核心连接到Sybase数据库
- asp.net – 如何强制netwtonsoft json序列化程序序列化date
- ASP.NET Web API控制器专用串行器
- js_html_input中autocomplete="off"在chrom中失效的
- asp.net – 更改单个URL查询字符串值
- asp.net core EF code first
- asp.net – 无法创建XYZ.ashx类型
- asp.net – 客户特定语言的定制文化?
- asp.net-mvc – 与asp.net MVC中的ExceptionHand
- asp.net-mvc-3 – 从TempData获取值到视图中
- asp.net – Jquery datepicker:验证日期mm/dd/y
- .net – 在Razor ViewEngine中显示错误
- asp.net-mvc – 更改kendo数字过滤器格式
- asp.net-mvc-4 – 带有绝对路径的ASP.NET MVC Bu
- asp.net-mvc – 任何支持ASP.NET MVC的图表控件,
- 在视图中确定ASP.NET Core环境名称
- asp.net – 如何解码RDP服务器的远程资源URL(web