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 – IIS 7如何使用数据库中的用户帐户映射客户端证书
- asp.net – 可以在机器之间复制Cookie以假冒用户吗?
- MONO / ASP.NET Linux主机?
- asp.net – 验证失败后如何防止页面跳转到顶部位置?
- asp.net – .NET中的堆栈溢出将IIS发送到100%的CPU使用率
- asp.net-core-2.1 – 如何在asp.net Core 2.1.1中为Identit
- asp.net – CreateUserWizard – 添加步骤,但不要创建用户,
- asp.net-mvc – 获取ASP.Net MVC中任何文件的完整网址
- asp.net – 如何从SQL表中的列获取XML数据?
- 使用ASP.NET WebForms的xVal示例?
- asp.net – 禁用aspnet.friendlyurl的平板电脑移
- asp.net – asp:ContentPlaceHolder和代码块问题
- asp.net-mvc – 在DropDownList中验证所需的选择
- 来自ASP.NET MVC站点的“无效的JSON原语:alihac
- 通过asp.net 4.0中的“EnableViewState”和“Vie
- iis-7 – localhost上的IIS非常慢
- asp.net-mvc – ASP.Net MVC 5带范围的Google身份
- asp.net – RegisterStartupScript不能使用Scrip
- 在asp.net中RequiredFieldValidator Text和Error
- asp.net – 我应该继续研究MVC 1.0上的项目还是停
