首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未显示MultiView

未显示MultiView
EN

Stack Overflow用户
提问于 2011-08-02 23:11:29
回答 1查看 3.1K关注 0票数 1

我有一个页面,我试图使用ASP:MultiView和ASP:Menu控件实现一个简单的两个选项卡的tab控件。

我在同一个应用程序的另一个页面上运行得很好,但是由于某些原因,在这个页面上,整个MultiView都被隐藏了。该标记位于浏览器提供的源代码中,但这两个视图中的所有控件都不可见。视图正在占用空间。当我将另一个控件放在MultiView控件下时,它将显示在我预期的位置。

这两个页面之间存在差异。其中有效的是在模式对话框中显示的标准ASP.NET页面。我正在纠结的是一个使用母版页的内容页。

页面上已经有很多标记,但我已经包含了包含整个“Tab控件”的Panel的标记。

我确实尝试过将“Tab控件”从面板中移除,但行为没有任何变化。

任何关于这方面的想法都将不胜感激。

谢谢,道格

代码语言:javascript
复制
<asp:Panel ID="pnlAddressInfo" runat="server" CssClass="PanelVisible">
    <asp:Table ID="tblTabControl" runat="server">
        <asp:TableRow>
            <asp:TableCell>

                <asp:Menu
                    ID="mnuTabControl"
                    Width="262px"
                    runat="server"
                    Orientation="Horizontal"
                    StaticEnableDefaultPopOutImage="False">
                    <Items>
                        <asp:MenuItem ImageUrl="../Images/USAddrSelected.png" Text=" " Value="0" />
                        <asp:MenuItem ImageUrl="../Images/PFAddrUnselected.png" Text=" " Value="1" />
                    </Items>
                </asp:Menu>

                <asp:MultiView 
                    ID="mtvAddressInfo"
                    runat="server"
                    ActiveViewIndex="0"  >

                    <asp:View ID="tabUSAddr" runat="server">
                        <asp:Table ID="tblUSAddrMain" runat="server" width="567px" height="250px" cellpadding=0 cellspacing=0>
                            <asp:TableRow  VerticalAlign="top">
                                <asp:TableCell CssClass="AddressTabArea" style="width: 567px">
                                    <asp:Table ID="tblUSAddr" runat="server">
                                        <asp:TableRow>
                                            <asp:TableCell>
                                                <asp:Label ID="lstFunctionsAvailable_Label" runat="server" CssClass="StdLabel" Text="Address Line #1" />
                                            </asp:TableCell>
                                            <asp:TableCell>
                                                <asp:TextBox ID="txtUSAddrLine1" runat="server" CssClass="ResizableTextBox" />
                                            </asp:TableCell>
                                        </asp:TableRow>
                                        <asp:TableRow>
                                            <asp:TableCell>
                                                <asp:Label ID="txtUSAddrLine2_Label" runat="server" CssClass="StdLabel" Text="Address Line #2" />
                                            </asp:TableCell>
                                            <asp:TableCell>
                                                <asp:TextBox ID="txtUSAddrLine2" runat="server" CssClass="ResizableTextBox" />
                                            </asp:TableCell>
                                        </asp:TableRow>
                                    </asp:Table>
                                </asp:TableCell>
                            </asp:TableRow>
                        </asp:Table>
                    </asp:View>

                    <asp:View ID="tabUsers" runat="server">
                        <asp:Table ID="tblPFAddrMain" runat="server" width="567px" height="250px" cellpadding=0 cellspacing=0>
                            <asp:TableRow  VerticalAlign="top">
                                <asp:TableCell CssClass="RolesEditorTabArea" style="width: 567px">
                                    <asp:Table ID="tblPFAddr" runat="server">
                                        <asp:TableRow>
                                            <asp:TableCell>
                                                <asp:Label ID="txtPFAddrLine1_Label" runat="server" CssClass="StdLabel" Text="Address Line #1" />
                                            </asp:TableCell>
                                            <asp:TableCell>
                                                <asp:TextBox ID="txtPFAddrLine1" runat="server" CssClass="ResizableTextBox" />
                                            </asp:TableCell>
                                        </asp:TableRow>
                                        <asp:TableRow>
                                            <asp:TableCell>
                                                <asp:Label ID="txtPFAddrLine2_Label" runat="server" CssClass="StdLabel" Text="Address Line #2" />
                                            </asp:TableCell>
                                            <asp:TableCell>
                                                <asp:TextBox ID="txtPFAddrLine2" runat="server" CssClass="ResizableTextBox" />
                                            </asp:TableCell>
                                        </asp:TableRow>
                                    </asp:Table>
                                </asp:TableCell>
                            </asp:TableRow>
                        </asp:Table>
                    </asp:View>

                </asp:MultiView>  
                <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>                      
            </asp:TableCell>
        </asp:TableRow>
    </asp:Table>

</asp:Panel>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-03 23:43:17

我终于找到了这个问题的症结所在。事实证明,您不能简单地复制标记并期望它能正常工作。AJAX Tab控件也是如此。当您从工具箱添加MultiView元素时,它还会在后台执行一些操作,这些操作会添加使整个工作正常所需的任何JavaScript库和调用。当您简单地从另一个页面复制标记时,这些项不会完成,页面上的MultiView功能也不会按预期工作。

您需要(至少)将元素从“工具箱”添加到页面,然后才能复制内部标记。

这样做解决了我的问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6914305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档