HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/RMourik/bassol.nl/CMS/CMSAdminControls/UI/UniControls/UniButton.ascx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using CMS.UIControls;
using CMS.Helpers;
using CMS.Base;
using CMS.IO;
using CMS.ExtendedControls;

public partial class CMSAdminControls_UI_UniControls_UniButton : UniButton, IPostBackEventHandler
{
    #region "Events"

    /// <summary>
    /// Fires when the button is clicked
    /// </summary>
    public event EventHandler Click;

    #endregion


    #region "Properties"

    /// <summary>
    /// Button control
    /// </summary>
    public CMSButton ButtonControl
    {
        get
        {
            return btn;
        }
    }


    /// <summary>
    /// Gets or sets the style of the button.
    /// </summary>
    public override ButtonStyle ButtonStyle
    {
        get
        {
            return ButtonControl.ButtonStyle;
        }
        set
        {
            ButtonControl.ButtonStyle = value;
        }
    }


    /// <summary>
    /// Specifies whether the control is enabled or not
    /// </summary>
    public override bool Enabled
    {
        get
        {
            return base.Enabled;
        }
        set
        {
            btn.Enabled = value;
            hyperLink.Enabled = value;

            base.Enabled = value;
        }
    }


    #endregion


    #region "Methods"

    protected void ReloadData()
    {
        if (ShowAsButton)
        {
            // Setup as button
            btn.Text = GetText();
            btn.OnClientClick = OnClientClick;
            btn.CssClass = CssClass;

            hyperLink.Visible = false;
        }
        else
        {
            btn.Visible = false;

            // URL
            string url = LinkUrl;
            if (!String.IsNullOrEmpty(url))
            {
                url = URLHelper.ResolveUrl(url);
            }
            hyperLink.NavigateUrl = url;
            hyperLink.CssClass = CssClass;
            hyperLink.Target = HTMLHelper.EncodeForHtmlAttribute(LinkTarget);

            string imageUrl = ImageUrl;
            bool isImageUrl = !string.IsNullOrEmpty(imageUrl);

            // Link text
            string text = GetText();
            text = (!isImageUrl && string.IsNullOrEmpty(text)) ? url : text;
            lblText.Text = HTMLHelper.HTMLEncode(text);
            
                // Link javascript
            string javascript = OnClientClick;
            string ev = LinkEvent;
            if (!String.IsNullOrEmpty(ev) || (Click != null))
            {
                javascript += this.Page.ClientScript.GetPostBackEventReference(this, null) + "; return false;";
            }
            if (!String.IsNullOrEmpty(javascript))
            {
                hyperLink.Attributes.Add("onclick", javascript);
            }

            // Image
            if (isImageUrl)
            {
                image.ImageUrl = UIHelper.ResolveImageUrl(imageUrl);
                image.AlternateText = ImageAltText;
                image.ToolTip = ImageAltText;
                image.CssClass = ImageCssClass;
            }
            else
            {
                image.Visible = false;
            }
        }
    }


    /// <summary>
    /// Gets the button text
    /// </summary>
    protected string GetText()
    {
        if (!String.IsNullOrEmpty(LinkText))
        {
            return LinkText;
        }
        else
        {
            return ResHelper.GetString(ResourceString);
        }
    }


    /// <summary>
    /// PreRender event handler
    /// </summary>
    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);

        ReloadData();
    }


    /// <summary>
    /// Button click handler
    /// </summary>
    public void btn_Click(object sender, EventArgs e)
    {
        RaisePostBackEvent(null);
    }


    /// <summary>
    /// Raises the postback event
    /// </summary>
    /// <param name="eventArgument">Event argument</param>
    public void RaisePostBackEvent(string eventArgument)
    {
        var e = new EventArgs();

        // Raise the click event
        if (Click != null)
        {
            Click(this, e);
        }

        // Raise the requested event
        string ev = this.LinkEvent;
        if (!String.IsNullOrEmpty(ev))
        {
            ComponentEvents.RequestEvents.RaiseEvent(this, e, ev);
        }
    }
    
    #endregion
}