📄 clientruntimerender.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 + -