wtpclientscriptmanager.cs

来自「C#编写的在线用户统计、在线编辑器、验证码图片」· CS 代码 · 共 93 行

CS
93
字号
/*
 * WtpClientScriptManager.cs @Microsoft Visual Studio 2008 <.NET Framework 2.0 (or Higher)>
 * AfritXia
 * 2008/3/16
 *
 * Copyright(c) http://www.AfritXia.NET/
 *
 */

using System;
using System.Web.UI;

namespace Net.AfritXia.Web.UI
{
    /// <summary>
    /// 客户端脚本管理器
    /// </summary>
    internal sealed class WtpClientScriptManager
    {
        // CSS 样式表 ID
        private const string ID_Css = "@{__wtp:CSS__}";
        // CSS 样式表
        private static readonly string Css = String.Format(@"<style type=""text/css"">@import url(""{0}"");</style>", MyResGetter.GetResURL("WtpDefault"));

        // 导入客户端脚本 ID
        private const string ID_Script = @"{__wtp:JavaScript__}";
        // 导入客户端脚本
        private static readonly string Script = String.Format(
            @"<script type=""text/javascript"" src=""{0}""></script><script type=""text/javascript"" src=""{1}""></script>", 
            MyResGetter.GetResURL("WtpCore"), 
            MyResGetter.GetResURL("WtpCmd"));

        // 客户端提交事件脚本 ID
        private const string ID_ScriptOnSubmit = "@{__wtp.OnSubmit:JavaScript__}";
        // 客户端提交事件脚本
        private const string ScriptOnSubmit = @"global_wtpUpdateTextModelPaneOnSubmit();";

        // 目标页面
        public Page m_targetPage = null;

        #region 类构造器
        /// <summary>
        /// 类参数构造器
        /// </summary>
        /// <param name="targetPage"></param>
        public WtpClientScriptManager(Page targetPage)
        {
            this.m_targetPage = targetPage;
        }
        #endregion

        /// <summary>
        /// 获取目标页面
        /// </summary>
        public Page TargetPage
        {
            get
            {
                return this.m_targetPage;
            }
        }

        /// <summary>
        /// 注册客户端脚本
        /// </summary>
        public void Register()
        {
            // 获取客户端脚本管理器
            ClientScriptManager csm = this.TargetPage.ClientScript;

            // 注册 CSS 样式表文件
            if (csm.IsClientScriptBlockRegistered(ID_Css) == false)
            {
                csm.RegisterClientScriptBlock(typeof(void), ID_Css, Css);
            }

            // 注册客户端脚步包含脚本
            if (csm.IsClientScriptBlockRegistered(ID_Script) == false)
            {
                csm.RegisterClientScriptBlock(
                    typeof(void), ID_Script, Script);
            }

            // 注册客户端提交脚本
            if (csm.IsOnSubmitStatementRegistered(ID_ScriptOnSubmit) == false)
            {
                // 注册 OnSubmit 语句, 在页面提交时同步文本模型控件中文本值
                csm.RegisterOnSubmitStatement(
                    typeof(bool), ID_ScriptOnSubmit, ScriptOnSubmit);
            }
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?