2013-08-02 34 views
0

我傾向於使用多視圖相當多,而且我看到我從來沒有遇到一個奇怪的問題。只有第一個Multiview索引或外部索引的控件纔會導致附加的事件處理程序被觸發。 MultiView位於UserControl內部。事件處理器在多視圖

我可以改變的MultiView指數,但比其他0任何指數的任何控件將不觸發事件處理程序。有沒有任何合理的原因讓我可以調試呢?

我的MultiView被聲明爲

<asp:Button ID="btnPostTopicAlsoWorking" runat="server" Text="Post Topic" CssClass="button" ValidationGroup="post" OnClick="btnPostTopic_Click"/> 
<asp:MultiView runat="server" ID="mltMain" ActiveViewIndex="0" OnActiveViewChanged="viw_Changed"> 
    <asp:View runat="server" ID="viwCategories"> 
     ...this works 
     <asp:Button ID="btnPostTopic" runat="server" Text="Post Topic" CssClass="button" ValidationGroup="post" OnClick="btnPostTopic_Click"/> 
    </asp:View> 
    <asp:View runat="server" ID="viwCategorySingle"> 
     ...this does not work 
     <asp:Button ID="btnPostTopicBroken" runat="server" Text="Post Topic" CssClass="button" ValidationGroup="post" OnClick="btnPostTopic_Click"/> 
+0

是否所有按鈕都應該使用相同的事件處理程序? – NoLifeKing

+0

不,它們實際上都是不同的,我已經將它們更改爲相同的用於調試。 – Echilon

+0

調試時,還要檢查什麼'ActiveViewIndex'您多視角都有,看它是否是正確的。 – NoLifeKing

回答

0

這是一場噩夢追查。 UC嵌入在Umbraco頁面中,UC添加了一個宏。如果我創建一個母版,其中包括這樣的宏:

<%@ Master Language="C#" MasterPageFile="~/masterpages/umbMaster.master" AutoEventWireup="true" %> 

<asp:Content ID="Content2" ContentPlaceHolderID="cp_content" runat="server"> 
    <umbraco:Item ID="Item1" runat="server" field="bodyText" /> 
</asp:Content> 

我可以創造一把umbraco頁,插入與編輯器宏,它會顯示和有一半的功能。爲了讓它按預期工作,我需要將宏直接嵌入到MasterPage中:

<asp:Content ID="Content2" ContentPlaceHolderID="cp_content" runat="server"> 
    <umbraco:Macro ID="Macro1" runat="server" Alias="forumCategoryFrontEnd"/> 
</asp:Content>