我正在编写一些 Web 服务器控件,以便更轻松地使用基本的 jQuery UI 主题控件和小部件。在这个阶段我需要做的就是在超链接中添加一些额外的 CSS 类。
下面的代码是我的 Web 服务器控件。
using System;
using System.ComponentModel;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Fusion.UI.Controls
{
[
ToolboxData("<{0}:Hyperlink runat=\"server\"></{0}:Hyperlink>")
]
public class Hyperlink : System.Web.UI.WebControls.HyperLink
{
protected override void AddAttributesToRender(HtmlTextWriter writer)
{
writer.AddAttribute(HtmlTextWriterAttribute.Class, "fg-button ui-state-default ui-corner-all");
// Call underlying renderer
base.AddAttributesToRender(writer);
}
}
}
这可以正常工作并生成带有附加 CSS 类的超链接。但是,如果我还指定CssClass
它最终会创建一个双类属性:
<Fusion.UI:Hyperlink ID="Hyperlink1" runat="server" NavigateUrl="#" CssClass="ui-state-disabled" >Link</Fusion.UI:Hyperlink>
这会生成以下 HTML:
<a class="fg-button ui-state-default ui-corner-all" id="ctl00_cphMainContent_Hyperlink1" class="ui-state-disabled" href="#">Link</a>
帮助!我怎样才能阻止这种情况发生?