private string GetClickScript(DatePickerButtonRenderingContext renderingContext, bool hasClientScript) { string script; if (hasClientScript && renderingContext.Control.Enabled) { const string pickerActionButton = "this"; string pickerActionContainer = "document.getElementById ('" + renderingContext.Control.ContainerControlID.Replace('$', '_') + "')"; string pickerActionTarget = "document.getElementById ('" + renderingContext.Control.TargetControlID.Replace('$', '_') + "')"; string pickerUrl = "'" + GetDatePickerUrl().GetUrl() + "'"; Unit popUpWidth = PopUpWidth; string pickerWidth = "'" + popUpWidth + "'"; Unit popUpHeight = PopUpHeight; string pickerHeight = "'" + popUpHeight + "'"; script = "DatePicker_ShowDatePicker(" + pickerActionButton + ", " + pickerActionContainer + ", " + pickerActionTarget + ", " + pickerUrl + ", " + pickerWidth + ", " + pickerHeight + ");" + "return false;"; } else { script = "return false;"; } return(script); }
/// <summary> /// Renders a click-enabled image that shows a <see cref="DatePickerPage"/> on click, which puts the selected value /// into the control specified by <see cref="P:Control.TargetControlID"/>. /// </summary> public void Render(DatePickerButtonRenderingContext renderingContext) { ArgumentUtility.CheckNotNull("renderingContext", renderingContext); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Id, renderingContext.Control.ClientID); string cssClass = string.IsNullOrEmpty(renderingContext.Control.CssClass) ? CssClassBase : renderingContext.Control.CssClass; if (!renderingContext.Control.Enabled) { cssClass += " " + CssClassDisabled; } renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, cssClass); // TODO: hyperLink.ApplyStyle (Control.DatePickerButtonStyle); string script = GetClickScript(renderingContext, true); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Onclick, script); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Href, "#"); if (!renderingContext.Control.Enabled) { renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Disabled, "disabled"); } renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.A); var imageUrl = GetResolvedImageUrl(); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Src, imageUrl.GetUrl()); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Alt, renderingContext.Control.AlternateText ?? string.Empty); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Img); renderingContext.Writer.RenderEndTag(); renderingContext.Writer.RenderEndTag(); }