如何在C#/Asp.Net中禁用日期选择器控件

本文关键字:日期 选择器 控件 Net Asp | 更新日期: 2023-09-27 18:21:51

我有日期选择器控件,该控件被用于许多页面。我只是想知道如何在一个实例中禁用我的日期选择器。

这是日期选择器:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="DatePicker.ascx.cs" Inherits="User_Controls_DatePicker" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<cc1:CalendarExtender ID="CalendarExtender1" runat="server" Format="dd MMM yyyy"
    TargetControlID="TxtUCtrl_Date" BehaviorID="<%# TxtUCtrl_Date.ClientID %>" />
<cc1:TextBoxWatermarkExtender ID="WatermarkExtender1" runat="server" TargetControlID="TxtUCtrl_Date"
    WatermarkText="" WatermarkCssClass="watermarked input-mandatory">
</cc1:TextBoxWatermarkExtender>
<asp:TextBox runat="server" ID="TxtUCtrl_Date" Width="100px" Height="14px"></asp:TextBox>
<input runat="server" id="BtnSelect" type="button" style="width: 40px" value="" />

我正在使用这个日期选择器作为

<DatePicker:DatePicker ID="dtSupBookedFromDate" runat="server" ButtonText="Open Calendar"
                DateFormat="dd MMM yyyy" WatermarkText="Select Date" />

我找到了一些解决方案,比如我可以为此目的在textbox中添加一个attribute。其中一个链接:http://forums.asp.net/t/1429400.aspx

难道我们不能使用日期选择器的ID(在我的例子中是dtSupBookedFromDate)禁用它吗。我希望我能在这里找到一个更好的解决方案。。。

提前感谢:)

如何在C#/Asp.Net中禁用日期选择器控件

这是自定义控件吗?如果是这样,您需要在它的代码背后添加一个公共属性,该属性将获取或设置日历文本框的只读属性。

    public bool ReadOnly
    {
        get { return WatermarkExtender1.ReadOnly; }
        set { WatermarkExtender1.ReadOnly = value; }
    }

然后您可以将其设置为dtSupBookedFromDate.ReadOnly = true;

Ben的方式可能更好。这一次我不能玩自定义控件,所以选择查找文本框的方法:(

TextBox txtDate = (TextBox)dtSupBookedFromDate.FindControl("TxtUCtrl_Date");
txtDate.Enabled = false;