⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clientruntimerender.cs

📁 该项目中对 SQLHelper 类进行了简单封装
💻 CS
字号:
/* 
 * ClientRunTimeRender.cs @Microsoft Visual Studio 2008 <.NET Framework 3.5>
 * AfritXia
 * 2006-11-13
 * 
 * Copyright(c) http://www.AfritXia.NET/
 * 
 */

using System;
using System.Collections;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace NET.AfritXia.Components.Web
{
	/// <summary>
	/// 客户端运行时脚本绘制器
	/// </summary>
	internal sealed class ClientRunTimeRender
	{
		#region 类 ClientRunTimeRender 构造器
		/// <summary>
		/// 类 ClientRunTimeRender 默认构造器
		/// </summary>
		private ClientRunTimeRender()
		{
		}
		#endregion

		/// <summary>
		/// 绘制控件在客户端的脚本
		/// </summary>
		/// <param name="writer"></param>
		/// <param name="control"></param>
		public static void Render(HtmlTextWriter writer, Control control)
		{
			// 绘制客户端脚本,建立 JavaScript 对象
			writer.WriteLine("<script type='text/javascript'>");

			Queue ctrlQ = new Queue();

			ctrlQ.Enqueue(control);

			while (ctrlQ.Count != 0)
			{
				Control ctrl = ctrlQ.Dequeue() as Control;

				if ((ctrl != null) && (ctrl is IClientRunTime))
				{
					// 搜索所有实现 IClientRunTime 接口的控件,建立其对应的 JavaScript 对象
					string javaScriptOb = ((IClientRunTime)ctrl).CreateJavaScriptObject();

					// 写出对象脚本
					writer.WriteLine(javaScriptOb);
				}

				foreach (Control childCtrl in ctrl.Controls)
					ctrlQ.Enqueue(childCtrl);
			}

			writer.WriteLine("</script>");
		}
	}
}

⌨️ 快捷键说明

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