Esempio n. 1
0
        /// <summary>
        /// Register the client-side script block in the ASPX page.
        /// </summary>
        public void RegisterAPIScriptBlock()
        {
            // Register the script block is not allready done.
            if (!Page.IsClientScriptBlockRegistered(SCRIPTKEY))
            {
                if ((this.ExternalScript == null || this.ExternalScript == string.Empty) && (this.ScriptDirectory == null || this.ScriptDirectory.TrimEnd() == string.Empty))
                {
#if (!FX1_1)
                    Page.ClientScript.RegisterClientScriptInclude(SCRIPTKEY, Page.ClientScript.GetWebResourceUrl(this.GetType(), "ActiveUp.WebControls._resources.ActiveAjax.js"));
#else
                    string CLIENTSIDE_API = EditorHelper.GetResource("ActiveUp.WebControls._resources.ActiveAjax.js");
                    if (!CLIENTSIDE_API.StartsWith("<script"))
                    {
                        CLIENTSIDE_API = "<script language=\"javascript\">\n" + CLIENTSIDE_API;
                    }

                    CLIENTSIDE_API += "\n</script>\n";

                    Page.RegisterClientScriptBlock(SCRIPTKEY, CLIENTSIDE_API);
#endif
                }
                else
                {
                    if (this.ScriptDirectory.StartsWith("~"))
                    {
                        this.ScriptDirectory = this.ScriptDirectory.Replace("~", System.Web.HttpContext.Current.Request.ApplicationPath.TrimEnd('/'));
                    }
                    Page.RegisterClientScriptBlock(SCRIPTKEY, "<script language=\"javascript\" src=\"" + this.ScriptDirectory.TrimEnd('/') + "/" + (this.ExternalScript == string.Empty ? "ActiveAjax.js" : this.ExternalScript) + "\"  type=\"text/javascript\"></SCRIPT>");
                }
            }

            Page.TestAndRegisterScriptBlock(SCRIPTKEY, ScriptDirectory, "AA_TestIfScriptPresent()");


            if (!Page.IsClientScriptBlockRegistered(string.Format("{0}_Var_{1}", SCRIPTKEY, ClientID)))
            {
                string varString = string.Empty;
                varString += "<script>\n";
                varString += "\n// Variable declaration related to the ajax panel '" + ClientID + "'\n";
                varString += string.Format("var ActiveAjax_{0} = new AA_CallBackObject('{0}');\n", this.ClientID);

#if (DEBUG)
                varString += string.Format("ActiveAjax_{0}.Debug = true;\n", ClientID);
#endif
                if (EncodeURIComponent)
                {
                    varString += string.Format("ActiveAjax_{0}.EncodeURI = {1};\n", ClientID, EncodeURIComponent ? "true" : "false");
                }

                if (SaveState)
                {
                    varString += string.Format("ActiveAjax_{0}.SaveState = {1};\n", ClientID, SaveState ? "true" : "false");
                }

                if (UseCache)
                {
                    varString += string.Format("ActiveAjax_{0}.UseCache = {1};\n", ClientID, UseCache ? "true" : "false");
                }

                if (OnAbort != string.Empty)
                {
                    varString += string.Format("ActiveAjax_{0}.OnAbort = {1};\n", ClientID, OnAbort);
                }

                if (OnComplete != string.Empty)
                {
                    varString += string.Format("ActiveAjax_{0}.OnComplete = {1};\n", ClientID, OnComplete);
                }

                if (OnError != string.Empty)
                {
                    varString += string.Format("ActiveAjax_{0}.OnError = {1};\n", ClientID, OnError);
                }

                if (OnInteractive != string.Empty)
                {
                    varString += string.Format("ActiveAjax_{0}.OnInteractive = {1};\n", ClientID, OnInteractive);
                }

                if (OnLoaded != string.Empty)
                {
                    varString += string.Format("ActiveAjax_{0}.OnLoaded = {1};\n", ClientID, OnLoaded);
                }

                if (OnLoading != string.Empty)
                {
                    varString += string.Format("ActiveAjax_{0}.OnLoading = {1};\n", ClientID, OnLoading);
                }

                if (OnUnitialized != string.Empty)
                {
                    varString += string.Format("ActiveAjax_{0}.OnUnitialized = {1};\n", ClientID, OnUnitialized);
                }

                if (LoadingDisplay != string.Empty)
                {
                    varString += string.Format("ActiveAjax_{0}.LoadingDisplay = '{1}';\n", ClientID, LoadingDisplay);
                }

                if (RequestAutoWidth)
                {
                    varString += string.Format("ActiveAjax_{0}.RequestAutoWidth = {1};\n", ClientID, RequestAutoWidth ? "true" : "false");
                }

                if (RequestAutoHeight)
                {
                    varString += string.Format("ActiveAjax_{0}.RequestAutoHeight = {1};\n", ClientID, RequestAutoHeight ? "true" : "false");
                }

                if (RefreshInterval > 0)
                {
                    varString += string.Format("window.setInterval(\"ActiveAjax_{0}.DoActiveCallBack(\'{0}\',\'\');\",{1});\n", ClientID, RefreshInterval);
                }

                if (PostPanelOnly)
                {
                    string controlsID = string.Empty;

                    foreach (Control c in this.Controls)
                    {
                        //if (!(c is System.Web.UI.LiteralControl && ((System.Web.UI.LiteralControl)c).Text.StartsWith(_LITERAL_CONTENTS_TO_IGNORE_)))
                        //{
                        controlsID += c.ClientID;
                        controlsID += ',';
                        //}
                    }
                    controlsID = controlsID.TrimEnd(',');

                    varString += string.Format("ActiveAjax_{0}.PostPanelOnly = '{1}';\n", ClientID, controlsID);

                    if (PostId.Length > 0)
                    {
                        varString += string.Format("ActiveAjax_{0}.PostId = '{1}';\n", ClientID, Utils.FormatStringArray(PostId, ','));
                    }
                }

                varString += "\n</script>\n";

                Page.RegisterClientScriptBlock(SCRIPTKEY + "_Var_" + ClientID, varString);
            }
        }