我已經創建了一個自定義按鈕呈現如下:
<span class="btnOrange">
<input type="submit" id="ctl00_MainContent_m_GoBack" value="Back" name="ctl00$MainContent$m_GoBack"/>
</span>
但是,它呈現這樣的,而不是(注意INPUT標記外來的 「class」 屬性):
<span class="btnOrange">
<input type="submit" class="btnOrange" id="ctl00_MainContent_m_GoBack" value="Back" name="ctl00$MainContent$m_GoBack"/>
</span>
我的自定義按鈕看起來是這樣的:
[ToolboxData(@"<{0}:MyButton runat=server></{0}:MyButton>")]
public class MyButton : Button
{
public override void RenderBeginTag(HtmlTextWriter writer)
{
writer.AddAttribute(HtmlTextWriterAttribute.Class, this.CssClass);
writer.RenderBeginTag("span");
base.RenderBeginTag(writer);
}
public override void RenderEndTag(HtmlTextWriter writer)
{
writer.RenderEndTag();
base.RenderEndTag(writer);
}
}
因爲我只需要設置CLAS s屬性的SPAN標籤,是否有可能不包括或「消除」INPUT標籤的類屬性?
不幸的是,編寫器對象沒有「RemoveAttribute」方法等。並調用writer.AddAttribute(HtmlTextWriterAttribute.Class,「」)實際上在INPUT標記中創建兩個CLASS屬性;一個是「btnOrange」作爲其值,另一個是空值。 – Bullines 2008-10-14 15:12:32