62,025
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
namespace CustomControls
{
public class CalenderTextBox:CompositeControl
{
private Image imgeCalendar;
private TextBox txtCalendar;
private string _textCalendarID;
public string Text
{
get
{
EnsureChildControls();
return txtCalendar.Text;
}
set
{
EnsureChildControls();
txtCalendar.Text = value;
}
}
public string CssClass
{
get
{
EnsureChildControls();
return txtCalendar.CssClass;
}
set
{
EnsureChildControls();
txtCalendar.CssClass = value;
}
}
public string ID
{
get
{
EnsureChildControls();
if (string.IsNullOrEmpty(txtCalendar.ID))
{
_textCalendarID = Guid.NewGuid().ToString("N") + "$txtCalendar";
return _textCalendarID;
}
return txtCalendar.ID;
}
set
{
EnsureChildControls();
if (string.IsNullOrEmpty(value))
{
_textCalendarID = Guid.NewGuid().ToString("N") + this.txtCalendar.UniqueID;
}
else
{
_textCalendarID = this.txtCalendar.UniqueID + "$" + value;
}
}
}
public string ReadOnly
{
get
{
EnsureChildControls();
return txtCalendar.ReadOnly.ToString();
}
set
{
EnsureChildControls();
if (value.ToLower() == "true")
{
txtCalendar.ReadOnly = true;
}
else
{
txtCalendar.ReadOnly = false;
}
}
}
public string ImageUrl
{
get
{
EnsureChildControls();
return imgeCalendar.ImageUrl;
}
set
{
EnsureChildControls();
imgeCalendar.ImageUrl = value;
//imgeCalendar.Attributes.Add("onclick", "WdatePicker({el:$dp.$('" + txtCalendar.ClientID + "'),dateFmt:'yyyy/MM/dd'})");
imgeCalendar.Attributes.Add("onclick", "CalendarTextOnClick()");
}
}
protected override void RecreateChildControls()
{
EnsureChildControls();
}
protected override void CreateChildControls()
{
Controls.Clear();
txtCalendar = new TextBox();
txtCalendar.ID = this.ID;
imgeCalendar = new Image();
this.Controls.Add(txtCalendar);
this.Controls.Add(imgeCalendar);
}
protected override void Render(HtmlTextWriter writer)
{
writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "0", false);
writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0", false);
writer.RenderBeginTag(HtmlTextWriterTag.Table);
writer.RenderBeginTag(HtmlTextWriterTag.Tr);
writer.RenderBeginTag(HtmlTextWriterTag.Td);
txtCalendar.ReadOnly = true;
txtCalendar.RenderControl(writer);
writer.RenderEndTag();
writer.RenderBeginTag(HtmlTextWriterTag.Td);
imgeCalendar.RenderControl(writer);
writer.RenderEndTag();
writer.RenderEndTag();
writer.RenderEndTag();
}
}
}