0

カスタム モジュールに jQuery dnnTabs を正常に実装しました。プログラムでタブを削除する方法を見つけようとしています。

タブを設定するための JavaScript は次のとおりです。

    <script type="text/javascript">
        jQuery(function ($) {
              $('#tabs-demo').dnnTabs();
        });
    </script>

タグを削除するために作成した関数は次のとおりです。

     <script type="text/javascript">
        jQuery(function ($) {
            $('#tabs-demo').dnnTabs();
         });
     </script>

タグを削除するために作成した関数は次のとおりです。

     <script type="text/javascript">
         function removeTab(tabID) {
            $('#tabs-demo').dnnTabs('remove', tabID);   
         };
     </script>

コードビハインドから関数を呼び出す方法は次のとおりです。

     ScriptManager.RegisterStartupScript(Me.Page, Me.[GetType](), "tmp", "<script type='text/javascript'>removeTab(1);</script>", False)

タブは削除されていません。私はいくつかの異なる反復を試みましたが、うまくいきませんでした。

4

3 に答える 3

2

ModuleSettingsコントロールを見てください。

タブは順序付けられていないリストであり、最後の最後のリスト項目にはrunat="server"属性とIDがあります。このタブは、モジュール固有の設定に使用されます。何もない場合(またはプログラマーがモジュールのアクションメニューからのアクションリンクを使用して追加のコントロールにそれらを配置した場合)は非表示になります。

<ul class="dnnAdminTabNav dnnClear">
    <li><a href="#msModuleSettings"><%=LocalizeString("ModuleSettings")%></a></li>
    <li><a href="#msPermissions"><%=LocalizeString("Permissions")%></a></li>
    <li><a href="#msPageSettings"><%=LocalizeString("PageSettings")%></a></li>
    <li id="specificSettingsTab" runat="server">
        <asp:HyperLink href="#msSpecificSettings" ID="hlSpecificSettings" runat="server" />
    </li>
</ul>

最後のタブの可視性は、コントロールのOnLoadイベントで処理され、「else」部分によって非表示になります。

                //Set visibility of Specific Settings
                if (SettingsControl == null == false)
                {
                    //Get the module settings from the PortalSettings and pass the
                    //two settings hashtables to the sub control to process
                    SettingsControl.LoadSettings();
                    specificSettingsTab.Visible = true;
                    fsSpecific.Visible = true;
                }
                else
                {
                    specificSettingsTab.Visible = false;
                    fsSpecific.Visible = false;
                }

それが役に立てば幸い!マイケル

于 2012-10-23T08:42:19.680 に答える
0

私を正しい道に導いてくれた John と Brian Dukes に感謝します。

究極の修正は次のとおりです。

    <script type="text/javascript">
         function removeTab(tabID) {
             jQuery(function ($) {
                 $('#tabs-demo').tabs('remove', tabID);
             });
         };
    </script>
于 2012-02-09T16:05:25.077 に答える
0

をスキップしてdnnTabs('remove')、jQuery を使用して DOM から削除することもできます。

 <script type="text/javascript">
     function removeTab(tabID) {
        $('#tabs-demo '+tabID).remove();   
     };
 </script>
于 2012-02-08T23:02:59.013 に答える