0

ユーザーがタブの見出しをクリックすると、マスターページでjqueryタブを使用してaspxファイルを開きます。しかし、自分のページをリンクとして使用すると、「ヘッダー」の部分が繰り返されます(これと同様:jqueryタブとasp.netマスターページの問題)。すでに解決策を試しましたが、頭を悩ませることはできません。誰か助けてくれませんか。これがマスターページの私のコードです:

<form id="form1" runat="server">
<div class="mainWrapper">
    <div class="wrapper">
        <div class="header">
            <a href="" class="logo"></a>
            <div class="topToolbar">
                <span>Welcome <a href="/" class="logOut">Log Out</a></span>
            </div>
        </div>
        <div class="container">
            <div id="tabs">
                <div class="tabsCenter">
                    <ul>
                        <li><a href="Myfirstpage.aspx">First</a></li>
                        <li><a href="SecondPage.aspx">Second</a></li>
                    </ul>

                </div>

                <div class="tabsBottom">
                </div>
            </div>
           <asp:ContentPlaceHolder ID="BodyContent" runat="server">
            </asp:ContentPlaceHolder>

        </div>
    </div>
    <div class="push">
    </div>
</div>
</form>

編集:

これが私の2番目のバージョンコードです:

<body>
    <form id="form1" runat="server">
    <div class="mainWrapper">
        <div class="wrapper">
            <div class="header">
                <a href="" class="logo"></a>
                <div class="topToolbar">
                    <span>Welcome <a href="/" class="logOut">Log Out</a></span>
                </div>
            </div>
            <div class="container">
                <div id="tabs">
                    <div class="tabsCenter">
                        <ul>
                            <li><a href="Track.aspx" runat="server" id="Tab1">Track</a></li>
                            <li><a href="Downloads.aspx" runat="server" id="Tab2" >Downloads</a></li>
                            <%--<li><a href="~/ClaimsLogin/ClaimsLogin">My Claims</a></li>
                            <li><a href="~/FAQ/FAQs">FAQ's</a></li>
                            <li><a href="~/MyProfile/ViewDetail">My Profile</a></li>
                            <li><a href="~/MyMessage/Message">Contact</a></li>--%>
                        </ul>
                        <div id="TabContent">
                        <asp:ContentPlaceHolder ID="BodyContent" runat="server">
                        </asp:ContentPlaceHolder>
                        </div>
                        <div id="TabContent2">
                        <asp:ContentPlaceHolder ID="BodyContent2" runat="server">
                        </asp:ContentPlaceHolder>
                        </div>
                    </div>
                    <div class="tabsBottom">
                    </div>
                </div>
            </div>
        </div>
        <div class="push">
        </div>
    </div>
    </form>
    <script type="text/javascript">
        $(document).ready(function () {
            $('.tabs').tabs({
                select: function (event, ui) {
                    var url = $.data(ui.tab, 'load.tabs');
                    location.href = url; // follow url
                    return false; // to disable default handling
                }
            });
        });
    </script>
</body>
</html>

そしてページで私はこれをします:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Track.aspx.cs" Inherits="CustomerPortalV2.Track" MasterPageFile="~/Site.Master" %>



<asp:Content ID="Trackcontent" ContentPlaceHolderID="BodyContent" runat="server">
<div class="sideTabsWrapper">
Track page
</div>
</asp:Content>
4

1 に答える 1

1

jqueryタブとasp.netマスターページの問題で述べられているように、それを行うには2つの方法があります。

  1. AJAXを介してページコンテンツをロードする場合は、コンテンツページ(タブコンテンツを含む)にヘッダーやタブが含まれていないことを確認する必要があります。タブに表示する必要があるのはコンテンツのみであるプレーンページ(マスターページは使用しないでください)である必要があります

  2. 2番目の方法(あなたがフォローしようとしていると思います)はタブクリックで、実際のURLをフォローします(つまり、ブラウザーのアドレスバーに新しいURLが追加されます)。このようなスキームでは、タブの内容をロードするためにAJAXを使用しないように、jqueryタブに指示する必要があります。元の回答で提供されたFAQリンクはJqueryUIによって削除されたようです-代わりに、元のFAQが引用されている場合は、このSOの質問を参照してください:jqueryuiタブのタブのリンクをたどってください

于 2012-10-08T06:59:55.563 に答える