请看一下代码红色部分 为什么一开始需要 base.Render(writer); 我把它删了感觉没什么变动?using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
namespace CustomComponents
{
public enum ButtonDisplay
{
Button = 0,
Hyperlink = 1
} [ToolboxData("<{0}:SuperButton3 runat=server></{0}:SuperButton3>")]
public class SuperButton3 : Control, IPostBackEventHandler
{
public virtual ButtonDisplay Display
{
get
{
object display = ViewState["Display"];
if (display == null)
return ButtonDisplay.Button;
else
return (ButtonDisplay)display;
}
set
{
ViewState["Display"] = value;
}
} public virtual string Text
{
get
{
object text = ViewState["Text"];
if (text == null)
return string.Empty;
else
return (string)text;
}
set
{
ViewState["Text"] = value;
}
} private static readonly object ClickKey = new object(); public event EventHandler Click
{
add
{
Events.AddHandler(ClickKey, value);
}
remove
{
Events.RemoveHandler(ClickKey, value);
}
} protected virtual void OnClick(EventArgs e)
{
EventHandler clickEventDelegate =
(EventHandler)Events[ClickKey];
if (clickEventDelegate != null)
{
clickEventDelegate(this, e);
}
} public void RaisePostBackEvent(string argument)
{
OnClick(EventArgs.Empty);
} override protected void Render(HtmlTextWriter writer)
{
base.Render(writer); Page.VerifyRenderingInServerForm(this); if (Display == ButtonDisplay.Button)
{
writer.Write("<INPUT type=\"submit\"");
writer.Write(" name=\"" + this.UniqueID + "\"");
writer.Write(" id=\"" + this.UniqueID + "\"");
writer.Write(" value=\"" + Text + "\"");
writer.Write(" />");
}
else if (Display == ButtonDisplay.Hyperlink)
{
writer.Write("<A href=\"");
writer.Write(Page.GetPostBackClientHyperlink(this, ""));
writer.Write("\">" + Text + "</A>");
}
}
}
}
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
namespace CustomComponents
{
public enum ButtonDisplay
{
Button = 0,
Hyperlink = 1
} [ToolboxData("<{0}:SuperButton3 runat=server></{0}:SuperButton3>")]
public class SuperButton3 : Control, IPostBackEventHandler
{
public virtual ButtonDisplay Display
{
get
{
object display = ViewState["Display"];
if (display == null)
return ButtonDisplay.Button;
else
return (ButtonDisplay)display;
}
set
{
ViewState["Display"] = value;
}
} public virtual string Text
{
get
{
object text = ViewState["Text"];
if (text == null)
return string.Empty;
else
return (string)text;
}
set
{
ViewState["Text"] = value;
}
} private static readonly object ClickKey = new object(); public event EventHandler Click
{
add
{
Events.AddHandler(ClickKey, value);
}
remove
{
Events.RemoveHandler(ClickKey, value);
}
} protected virtual void OnClick(EventArgs e)
{
EventHandler clickEventDelegate =
(EventHandler)Events[ClickKey];
if (clickEventDelegate != null)
{
clickEventDelegate(this, e);
}
} public void RaisePostBackEvent(string argument)
{
OnClick(EventArgs.Empty);
} override protected void Render(HtmlTextWriter writer)
{
base.Render(writer); Page.VerifyRenderingInServerForm(this); if (Display == ButtonDisplay.Button)
{
writer.Write("<INPUT type=\"submit\"");
writer.Write(" name=\"" + this.UniqueID + "\"");
writer.Write(" id=\"" + this.UniqueID + "\"");
writer.Write(" value=\"" + Text + "\"");
writer.Write(" />");
}
else if (Display == ButtonDisplay.Hyperlink)
{
writer.Write("<A href=\"");
writer.Write(Page.GetPostBackClientHyperlink(this, ""));
writer.Write("\">" + Text + "</A>");
}
}
}
}
如果你writer.Write("dddd");只显示dddd