我有一个div,里面有自定义控件
<div class="modal modal-medium" id="modal-default-email">
<asp:DefaultMailMessage ID="DefaultMailMessageID" runat="server" />
<!-- /.modal-content -->
</div>
我只想创建一个客户端点击事件。怎样分享你的想法。。。
您必须声明控制中的事件,实现用于处理回发事件的IPostBackEventHandler,并注册GetPostBackEventReference(即"Click")clint端,例如
或多或少就是
using System.Web.UI.HtmlControls;
public class MyControl : CompositeControl, IPostBackEventHandler
{
//Declare event
public event EventHandler Click;
protected override void CreateChildControls()
{
//Creante your control
HtmlGenericControl div = new HtmlGenericControl("div");
//set your property
//Set postback reference client-side
div.Attributes.Add("onclick", Page.ClientScript.GetPostBackEventReference(this, "Click"));
//Add control
Controls.Add(div);
}
protected virtual void OnClick(EventArgs e)
{
if (((this.Click != null)))
{
this.Click.Invoke(this, e);
}
}
public void RaisePostBackEvent(string eventArgument)
{
if ((object.ReferenceEquals(eventArgument, "Click")))
{
this.OnClick(EventArgs.Empty);
}
}
}
你也看到了http://msdn.microsoft.com/en-us/library/aa719907(v=vs.71).aspx