Beispiel #1
0
        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);
        }
Beispiel #2
0
        /// <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();
        }