2011-08-02 26 views
1

私は、ASP:MultiViewとASP:Menuコントロールを使用して、簡単な2つのタブタブコントロールを実装しようとしているページがあります。MultiViewが表示されない

同じアプリケーション内の別のページでも問題なく動作しますが、何らかの理由でこのページでMultiView全体が非表示になっています。ブラウザが提供するソースにはマークアップがありますが、どちらのビューのコントロールもすべて表示されません。ビューはスペースを占めています。私がMultiViewコントロールの下に別のコントロールを置くと、それは私がそれが予想される場所に表示されます。

2つのページには違いがあります。これが動作するのは、モーダルダイアログに表示される標準のASP.NETページです。私が苦労しているのは、マスターページを使ったコンテンツページです。

このページには既に多くのマークアップがありますが、以下の「タブコントロール」全体を含むパネルのマークアップが含まれています。

「タブコントロール」をパネルから取り出してみましたが、動作に変更はありませんでした。

これについてのご意見は本当にありがたいです。

おかげで、 ダグ

<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> 
+0

投稿されたコードから実際には分かりません。 css 'PanelVisible'で' Display:Block'を確認してください。 Firebugを試してみてください。 – Jay

+0

PanelVisibleクラスはパネル上で使用されています。また、パネルが表示されている(境界線が1pxの色で表示されています)、Menuコントロールも表示され、正常に動作しています。それがこのことをとても奇妙なものにしています。表示されていないようです。もし私が髪を持っていたら、私はこの1つを引き出すだろう:-) – dscarr

+0

私の最善の提案はfirefoxのための[firebug](http://getfirebug.com/)のページを開くことだろう。それはあなたにCSSが適用されているかについての詳細を示し、それが表示されていない理由を伝えるかもしれません。 – Jay

答えて

2

は、私は最終的に、問題はこれで何であったかを考え出しました。単にマークアップをコピーしてこれが機能するとは思えません。 AJAXタブコントロールについても同じです。ツールボックスからMultiView要素を追加すると、バックグラウンドで、JavaScriptライブラリと呼び出しがすべて機能するようにするためのアクションも追加されます。別のページからマークアップをコピーするだけで、これらの項目は完了せず、ページのMultiView機能が期待通りに機能しません。

ツールボックスから要素をページに追加してから、内部マークアップをコピーする必要があります。

これが私の問題を解決しました。

関連する問題