2017-11-28 6 views
0

私は似たような投稿をいくつか見ましたが、私の問題(masterpage issue :)に合った解決策を見つけることができませんでした。 私はリスト(ul> li)で作成したサイドメニュー付きのマスターページを持っています。 どこにも言及していないli(例えば "ftq")を選択すると、この関数はうまく動作し、必要に応じてCSS設定を変更します。 しかし、「本当の」ページ(例えば「updateinspec.aspx」)を参照するliを選択したときに、ポストバックがあると、すべてのCSSはなくなります。ポストバックCSSの設定がmasterpageから削除されました

ここのコードです - すべてのヘルプは素晴らしい

<%@ Master Language="VB" AutoEventWireup="false" CodeBehind="MasterVC.master.vb" Inherits="HangarApp.MasterVC" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <link href="MasterCSS.css" type="text/css" rel="stylesheet" /> 

    <script type="text/javascript"> 

     function myFunction(x) { 
      x.classList.toggle("change"); 
     } 


     var lst; 
     function cngclass(obj) { 
      if (lst) lst.className = ''; 
      obj.className = 'listactive'; 
      lst = obj; 
     } 

    </script> 

    <asp:ContentPlaceHolder ID="headtitlePH" runat="server"> 
    </asp:ContentPlaceHolder> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div id="topcontent"> 
      <div class="menudiv" onclick="myFunction(this)"> 
      <div class="bar1"></div> 
      <div class="bar2"></div> 
      <div class="bar3"></div> 

</div> 
     <div class="divtitle"> 
     <img src="../images/logo1.png" /> 
        <asp:Label runat="server" ID="userlbl" style="padding:12%;"></asp:Label> 
     </div>  

    </div> 
    <div id="subtopdiv"> 
     <div id="sub_inspec"> 
      <br /> 
      <asp:Label ID="stationname" runat="server" CssClass="subtopdiv"></asp:Label> 
      <asp:Label ID="stationcode" runat="server" Visible="false" ></asp:Label> 
      <asp:Label ID="linecode" runat="server" Visible="false"></asp:Label> 
      <asp:Label ID="typecode" runat="server" Visible="false"></asp:Label> 
      <asp:Label ID="lblinspecnum" runat="server" Visible="false"></asp:Label> 
     </div> 

    </div> 

    <div id="maincontent"> 
      <asp:ScriptManager ID="ScriptManager1" runat="server"> 
    </asp:ScriptManager> 
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> 
    </telerik:RadAjaxManager> 
      <h1></h1> 
     <div class="innerdiv" id="divlefttop"> 
      <asp:ContentPlaceHolder ID="divlefttopPH" runat="server"> 
      </asp:ContentPlaceHolder> 
     </div> 
     <div class="innerdivdtop" id="divrighttop" runat="server"> 
       <asp:ContentPlaceHolder ID="divrighttopPH" runat="server"> 
      </asp:ContentPlaceHolder> 
     </div> 
     <div class="innerdivld" id="divleftdown" runat="server"> 
       <asp:ContentPlaceHolder ID="divleftdownPH" runat="server" > 
       </asp:ContentPlaceHolder> 
     </div> 
     <div class="innerdivd" id="divrightdown"> 
       <asp:ContentPlaceHolder ID="divrightdownPH" runat="server"> 
       </asp:ContentPlaceHolder> 
     </div> 
    </div> 
    <div id="leftcontent"> 

       <div id="menuinsp" runat="server"> 
        <ul> 
         <li><a onclick="cngclass(this);" class="active" href="Inspec_Main.aspx">Inspection APP</a></li> 
         <li><a onclick="cngclass(this);" class="nactive" href="#ftqpage">FTQ</a></li> 
         <li><a onclick="cngclass(this);" class="nactive" href="#managepage">MANAGE</a></li> 
         <li><a onclick="cngclass(this);" class="nactive" href="UpdateInspec.aspx">UPDATE</a></li> 
         <li><a onclick="cngclass(this);" class="nactive" href="#about">ABOUT</a></li> 
        </ul> 
        </div> 


    </div> 
     <div id="footercontent"> 
      <label>LAHAV IT SYSTEM - DANA B COHEN - TEL:58840</label> 
    </div> 

     <asp:ContentPlaceHolder ID="footertitlePH" runat="server"> 

     </asp:ContentPlaceHolder> 

    </form> 
</body> 
</html> 

答えて

0

になります私はあなたのマスターページがaspxページと同じディレクトリにないと思うし、あなたがlink以下に正しいhrefを使用していませんでした:

<link href="MasterCSS.css" type="text/css" rel="stylesheet" /> 

thisのようなサーバー側のリンクが必要です。

+0

私のリンクは正しいです。今日私は、特定の場所にリダイレクトされたリストアイテムをダブルクリックすると、すべて正常に動作し、 "アクティブ"に見えることを確認しました(リダイレクトしないリストアイテムの場合と同じように、 。何が原因でしょうか? – danait25

0

下記のようにMastercss.cssリンクを変更して、問題がまだ存在する場合はお知らせください。

<link href="/MasterCSS.css" type="text/css" rel="stylesheet" />

+0

こんにちは。私のマスターページは適切な場所にあります。今日私は、特定の場所にリダイレクトされたリストアイテムをダブルクリックすると、すべて正常に動作し、 "アクティブ"に見えることを確認しました(リダイレクトしないリストアイテムの場合と同じように、 。何が原因でしょうか? – danait25

+0

あなたのaspxページはあなたがいくつかのリンクをリダイレクトしていることを示しているので、これらのリンクはクリック後に強調表示できません。ページを使用できるようになるとすぐに、これらのリンクのクラス属性を変更する必要があります。わずかな変更を加えて、次のJqueryコードを使用することができます。それぞれの(function(){var pageName = document()} $ {documentinfo}}}}}}}}} .location.href.substring(document.location.href.lastIndexOf( "/")+ 1,100)(this.getAttribute( "href")。toLocaleLowerCase()。(pageName.toLocaleLowerCase())){$ (これは).attr( "class"、active "); }})}}) – Ravi

+0

ありがとう、私はそれを試してみましょう。 – danait25

関連する問題