[英]ASP.NET button on a web control has click event, but isn't recognized by control
[英]Click event isn't fired when using custom button control
我已經完成了自定義按鈕控件的操作,但是由於無法正常工作,我錯過了一些東西。
如果render方法是這樣,則按鈕起作用:
protected override void Render(HtmlTextWriter writer)
{
base.Render(writer);
}
但是當我將代碼更改為此:
protected override void Render(HtmlTextWriter writer)
{
writer.AddAttribute(HtmlTextWriterAttribute.Class, css);
writer.AddAttribute(HtmlTextWriterAttribute.Id, this.UniqueID);
writer.AddAttribute(HtmlTextWriterAttribute.Name, this.ID);
writer.RenderBeginTag(HtmlTextWriterTag.Button);
writer.RenderBeginTag(HtmlTextWriterTag.Span);
writer.RenderBeginTag(HtmlTextWriterTag.Span);
writer.RenderBeginTag(HtmlTextWriterTag.Span);
writer.Write(base.Text);
writer.RenderEndTag();
writer.RenderEndTag();
writer.RenderEndTag();
writer.RenderEndTag();
}
它只會加載單擊按鈕的同一頁面,而不會發生其他任何事情。
那我沒有做什么base.Render(write)呢? 在這些自定義控件按鈕中還有什么應該做的或者我可以做得更好嗎?
按鈕輸出應類似於:
<button>
<span>
<span>
<span>
Title
</span>
</span>
</span>
</button>
您應該調用基本方法...
base.Render(writer);
像下面↓
protected override void Render(HtmlTextWriter writer)
{
writer.AddAttribute(HtmlTextWriterAttribute.Class, css);
writer.AddAttribute(HtmlTextWriterAttribute.Id, this.UniqueID);
writer.AddAttribute(HtmlTextWriterAttribute.Name, this.ID);
writer.RenderBeginTag(HtmlTextWriterTag.Button);
writer.RenderBeginTag(HtmlTextWriterTag.Span);
writer.RenderBeginTag(HtmlTextWriterTag.Span);
writer.RenderBeginTag(HtmlTextWriterTag.Span);
writer.Write(base.Text);
writer.RenderEndTag();
writer.RenderEndTag();
writer.RenderEndTag();
writer.RenderEndTag();
base.Render(writer);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.