magicajax-0.3.0-source/Core/UI/Controls/ClientEventControls/BaseClientEventWrapper.cs

(完整代码) 1KB

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.ComponentModel;

namespace MagicAjax.UI.Controls
{
	/// <summary>
	/// Base class for controls that capture the client events of their inner controls.
	/// </summary>
	[Designer("MagicAjax.UI.Design.BaseClientEventWrapperDesigner, MagicAjax"),
		ParseChildrenAttribute(false),
		PersistChildren(true)]
	public abstract class BaseClientEventWrapper : ClientEventControl
	{
		protected abstract void AttachClientEvents (HtmlTextWriter writer);

		protected override void AddAttributesToRender(HtmlTextWriter writer)
		{
			base.AddAttributesToRender (writer);
			AttachClientEvents(writer);
		}

		protected virtual void AttachEvent (string eventName, string getArgumentScript, HtmlTextWriter writer)
		{
			if (getArgumentScript == null)
				writer.AddAttribute (eventName, String.Format("__doPostBack('{0}',event.type+';');", UniqueID));
			else
				writer.AddAttribute (eventName, String.Format("arg={0};__doPostBack('{1}',event.type+';'+arg);", getArgumentScript, UniqueID));
		}
		protected void AttachEvent (string eventName, HtmlTextWriter writer)
		{
			AttachEvent (eventName, null, writer);
		}
	}
}

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。