-1

asp:menuを使用しています。私のaspxコードは次のとおりです。

<body>
    <form id="form1" runat="server">
    <div>
        <asp:Menu ID="Menu_Library" runat="server">
        </asp:Menu>

    </div>
    </form>
</body>

サブメニュー項目(つまり、子項目)を動的に生成しています。サブメニュー項目をクリックすると、コードビハインドでこのように指定したページにリダイレクトされます。

MenuItem childItem = new MenuItem();
childItem.NavigateUrl = "OtherPage.aspx";

しかし、必要なのは、サブメニュー項目をクリックすると、同じページにいくつかの項目が表示されるはずです。

これを達成する方法は?私を助けてください..それはjavascriptまたはコードビハインドのいずれかである可能性があります..別のページに移動したくないので、代わりに同じページでアクションを実行します..

4

3 に答える 3

1

ページリンクを使用する代わりに、そのためにjavascriptを使用し、その中で表示または非表示にできる任意のdivを使用できます。

あなたのコード:

MenuItem childItem = new MenuItem();
childItem.NavigateUrl = "OtherPage.aspx";

変更:

MenuItem childItem = new MenuItem();
childItem.NavigateUrl = "javascript: return GoToSomeLink('"+ count +"');"; //You can pass parameters also

Javascript関数:

<script type="text/javascript">
function GoToSomeLink(obj) //if parameters are used use them here also.
{
    var count=parseInt(obj); //use this count varible anywhere in the function
    $(#menuDiv).show(); /any div show or hide
    return false;

}
 </script>
于 2012-12-17T06:59:40.267 に答える
0

load()またはajax() jqueryメソッドを使用して、ページを更新せずにコンテンツを動的にロードできます。

または、関連するコンテンツをインラインで非表示にし、 toggle()メソッドを使用して表示/非表示にすることができます

于 2012-12-17T05:41:55.220 に答える
0

jquery.loadメソッドは次のように使用できます

var a = this.find(".contentWrap"),
a.load(this.getTrigger().attr("href") + " .ajaxDiv");

アイデアはこれです

  1. 別のページ(ajaxMenuなど)をロードするすべてのメニュー/サブメニューにcssクラスを配置します。
  2. コードを使用してメニュー/サブメニューのURLを設定します。
  3. css-class(conetntWrap)を使用してメイジページにコンテナdivを作成します
  4. ロードするすべてのページに.ajaxDivなどのコンテナdivを作成します。_viewstateがページに読み込まれないため、これは重要です。
  5. 次のようにdocument.readyに関数を記述します

    $(document).ready(function () 
    {
        $("a.ajaxMenu").live("click", function (a)
        {
            var a = this.find(".contentWrap"),
            a.load(this.getTrigger().attr("href") + " .ajaxDiv");
         });
     )};
    

    * ---asp.netでクラスを使用します*

    <asp:Menu ID="NavigationMenu" 
         StaticMenuStyle-CssClass="StaticMenuStyle"
         StaticMenuItemStyle-CssClass="StaticMenuItemStyle"
         StaticSelectedStyle-CssClass="StaticSelectedStyle"
         StaticHoverStyle-CssClass="StaticHoverStyle"
        runat="server">
    </asp:Menu>
    

    上記はcssクラスを追加する方法です。

于 2012-12-17T06:09:45.530 に答える