2010-03-12 20 views
0

將ASP.NET WebForms主題改裝爲舊應用程序我需要主題<input>標記,以便每個主題的JavaScript點擊事件都不相同。我用asp:Button標籤替換,只是爲了發現OnClientClick屬性不具有主題性。解決方案非主題屬性(特別是asp:Button OnClientClick)

任何人都可以爲此提出解決方法嗎?

+0

OnClientCick會如何工作? – 2010-03-12 17:01:50

+0

@Chuck:每個主題的不同JavaScript – 2010-03-12 17:09:17

回答

1

ThemeableButton

你必須創建一個從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; } 
    } 

} 

的Web.Config

現在,你要取代舊的按鈕,新的一個。如下更改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> 
相關問題