【发布时间】:2013-08-02 09:19:14
【问题描述】:
我经常使用 MultiViews,而且我发现了一个我从未遇到过的奇怪问题。只有在第一个 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"/>
【问题讨论】:
-
是否意味着所有按钮都应该使用相同的事件处理程序?
-
不,它们实际上都是不同的,我已经将它们更改为相同的调试。
-
调试的时候,还要检查
ActiveViewIndex你的multiview有什么,看看是不是正确的。
标签: c# asp.net .net postback multiview