2013-07-11 71 views
0

我有日期選擇器控制和控制在許多頁面上使用。我只是想知道如何禁用我的日期選擇器在一個實例。如何禁用C#/Asp.Net中的日期選擇器控件?

下面是日期選取器:

<%@ 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" /> 

我發現了一些解決方案,如我可以添加一個attributetextbox爲宗旨。一個鏈接: http://forums.asp.net/t/1429400.aspx

我們不能禁用使用其ID的日期選擇器(在我的情況下是dtSupBookedFromDate)。 我希望我會在這裏得到一個更好的解決辦法...

感謝提前:)

回答

1

那是一個自定義控制?如果是這樣,您需要在其後面的代碼中添加一個公共屬性,以獲取或設置日曆文本框的只讀屬性。

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

然後你可以將它像dtSupBookedFromDate.ReadOnly = true;

+0

是其自定義的,並可能將屬性添加到該控件可以正常工作。謝謝。 但對於時間玩我我要使用findcontrol屬性,因爲我無法改變控件。 –

0

本的方式,可能是一個更好的。這個時候我不能自定義控制,去爲查找文本框的方法:(

TextBox txtDate = (TextBox)dtSupBookedFromDate.FindControl("TxtUCtrl_Date"); 
txtDate.Enabled = false; 
相關問題