Asp.net 解决非主题化属性的方法(特别是asp:Button OnClient Click)

Asp.net 解决非主题化属性的方法(特别是asp:Button OnClient Click),asp.net,webforms,themes,onclientclick,Asp.net,Webforms,Themes,Onclientclick,将ASP.NET WebForms主题改装为旧应用程序我需要为标记设置主题,以便每个主题的JavaScript单击事件都不同。我将标记替换为asp:Button,只是为了说明OnClientClick属性不可主题化 有人能提出解决方法吗?移动按钮 您必须创建一个从按钮派生的简单类。然后重写OnClientClick属性,并将themable属性添加到,如下所示 [ToolboxData("<{0}:Button runat=\"server\" />")] public class

将ASP.NET WebForms主题改装为旧应用程序我需要为
标记设置主题,以便每个主题的JavaScript单击事件都不同。我将标记替换为
asp:Button
,只是为了说明
OnClientClick
属性不可主题化


有人能提出解决方法吗?

移动按钮

您必须创建一个从
按钮
派生的简单类。然后重写
OnClientClick
属性,并将
themable
属性添加到,如下所示

[ToolboxData("<{0}:Button runat=\"server\" />")]
public class ThemeableButton : Button
{

    [Themeable(true)]
    public override string OnClientClick
    {
        get { return base.OnClientClick; }
        set { base.OnClientClick = value; }
    }

}
<pages>
  <tagMapping>
    <add tagType="System.Web.UI.WebControls.Button, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
         mappedTagType="[Namespace].ThemeableButton, [AssemblyName]" />
  </tagMapping>
</pages>

一个可主题化的onclientick如何工作?@Chuck:每个主题都有不同的JavaScript