0

将 ASP.NET WebForms 主题改造为旧应用程序 我需要对<input>标签进行主题化,以便每个主题的 JavaScript 点击事件都不同。我用标签替换了asp:Button,只是为了发现该OnClientClick属性不可主题化。

任何人都可以为此提出解决方法吗?

4

1 回答 1

1

主题按钮

您必须创建一个从Button. 然后覆盖该OnClientClick属性并添加一个Themeable属性,如下所示。

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

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

}

网络配置

现在,您必须用新按钮替换旧按钮。pages如下更改部分。

<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>
于 2010-03-12T21:12:51.397 回答