c# - 如何使用任何客户端脚本或服务器端脚本禁用 Calender Extender 中的上一个日期

标签 c# javascript asp.net-ajax

我有两个带有日历扩展器和一个标签的文本框。第一个文本框代表开始日期,第二个文本框代表结束日期,标签代表休假天数。

我遇到的问题是,如果我选择一个结束日期,我想使用任何客户端脚本或服务器端脚本禁用开始日期之前的所有日期...... 但是计算开始日期和结束日期并将其存储在(标签)NO.OF Days Leave 对于这个我只需要服务器端脚本。

示例:开始日期为 11-12-2010,结束日期为 14-12-2010,请假天数为 4。

任何人都可以帮助我......我是 Asp.net 的新手.......

最佳答案

我从未真正使用过 Ajax Calendar Extension,但我阅读了其中的一些内容,所以这是一个镜头:

在服务器端执行限制日期的逻辑可能是最简单的。但据我所知,CalendarExtender 不允许服务器端事件。但是解决这个问题的方法是在您的页面中添加一个隐藏的 asp:button 和一个隐藏的字段,并使用事件 OnClientDateSelectionChanged 为第一个 CalendarExtender 存储日期并假点击调用代码的按钮 -背后的方法。

function dateClickEvent(sender, args)  
{    
    document.getElementById('MyHiddenField').value = sender.get_selectedDate();  
   (document.getElementById('HiddenDateBtn')).click();     
} 

按钮和字段的标记如下所示:

    <asp:HiddenField ID="MyHiddenField" runat="server" />    
    <asp:Button ID="HiddenDateBtn" runat="server" Text="Click" Visible="false" 
style="display:none" OnClick="HiddenDateBtn_Click" /> 

如果您随后使用 RangeValidator 和 ValidatorCalloutExtender,您可以设置范围 对于代码隐藏中的第二个日期扩展器。

//In your code-behind  
protected void HiddenDateBtn_Click(object sender, EventArgs e)  
{  
     string firstDate = MyHiddenField.Value;  
     SecondDateRangeValidator.MinimumValue = firstDate;
}

验证器的 .aspx 代码应该是这样的:

<asp:RangeValidator ID="SecondDateRangeValidator" runat="server"
                ControlToValidate="SecondDateTextBox" ErrorMessage="RangeValidator"
                Type="Date">
</asp:RangeValidator>
<ajaxToolkit:ValidatorCalloutExtender ID="SecondDateRangeValidator_ValidatorCalloutExtender"
                runat="server" Enabled="True" TargetControlID="SecondDateRangeValidator">
</ajaxToolkit:ValidatorCalloutExtender>

我自己还没有尝试过这段代码 :) 在谷歌搜索和阅读后把它放在一起。希望对您有所帮助。

关于c# - 如何使用任何客户端脚本或服务器端脚本禁用 Calender Extender 中的上一个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4415787/

相关文章:

c# - yield 返回多少?

c# - 简单的控制台应用程序测试

javascript - 在 svg 组上模拟点击事件

javascript - 使用 jQuery 循环插件作为图像旋转器和寻呼机的问题

javascript - sequelize 中两个外键之间的 OR 运算符

asp.net - 尝试学习 ASP.NET 的 WinForms/WPF 开发人员资源

c# - Jquery 新行不显示在消息弹出窗口上

c# - 在迭代列表时从列表中删除/添加项目

c# - 在 ASP.net Ajax 中禁用更新进度按钮

jquery - 使用 javascript/jquery 检测 Asp.Net 表单是否有效