自己做控件小例子
自己做控件,也很容易。贴出来,给初学的人提供经验
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.ComponentModel;
namespace ISDReport.control
{
public class DemoLinkButton:System.Web.UI.WebControls.WebControl,IPostBackEventHandler
{
public DemoLinkButton()
{
}
[Bindable(false),
Category("Appearance"),
DefaultValue("")]
public string Text
{
get
{
string _text = (string)ViewState["Text"];
return _text==null?"":_text;
}
set
{
ViewState["Text"] = value;
}
}
protected override void OnPreRender(System.EventArgs e)
{
string scriptClick="<script language='javascript'>function DoOnClick(){"
+((HyperLinkClicked==null)?"":(Page.GetPostBackClientEvent(this,"Clicked"))
+"; return;}</script>");
Page.RegisterClientScriptBlock("OnClicked",scriptClick);
}
protected override void Render(HtmlTextWriter writer)
{
if(this.Text=="")
{
writer.Write("<a href=\"javascript:DoOnClick();\" id=\""+this.ClientID+"\">DemoLinkButton</a>");
}
else{
writer.Write("<a href=\"javascript:DoOnClick();\" id=\""+this.ClientID+"\">"+this.Text+"</a>");
}
}
public void RaisePostBackEvent(string eventArgument)
{
if(eventArgument=="Clicked") HyperLinkClicked(this,System.EventArgs.Empty);
}
public delegate void HyperLinkClickedHandle(object sender,System.EventArgs e);
public event HyperLinkClickedHandle HyperLinkClicked;
}
}
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.ComponentModel;
namespace ISDReport.control
{
public class DemoLinkButton:System.Web.UI.WebControls.WebControl,IPostBackEventHandler
{
public DemoLinkButton()
{
}
[Bindable(false),
Category("Appearance"),
DefaultValue("")]
public string Text
{
get
{
string _text = (string)ViewState["Text"];
return _text==null?"":_text;
}
set
{
ViewState["Text"] = value;
}
}
protected override void OnPreRender(System.EventArgs e)
{
string scriptClick="<script language='javascript'>function DoOnClick(){"
+((HyperLinkClicked==null)?"":(Page.GetPostBackClientEvent(this,"Clicked"))
+"; return;}</script>");
Page.RegisterClientScriptBlock("OnClicked",scriptClick);
}
protected override void Render(HtmlTextWriter writer)
{
if(this.Text=="")
{
writer.Write("<a href=\"javascript:DoOnClick();\" id=\""+this.ClientID+"\">DemoLinkButton</a>");
}
else{
writer.Write("<a href=\"javascript:DoOnClick();\" id=\""+this.ClientID+"\">"+this.Text+"</a>");
}
}
public void RaisePostBackEvent(string eventArgument)
{
if(eventArgument=="Clicked") HyperLinkClicked(this,System.EventArgs.Empty);
}
public delegate void HyperLinkClickedHandle(object sender,System.EventArgs e);
public event HyperLinkClickedHandle HyperLinkClicked;
}
}