-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. 将任何 css 类放到要加载另一个页面的每个菜单/子菜单上,比如 ajaxMenu。
  2. 通过您的代码设置菜单/子菜单的 url。
  3. 使用 css-class (conetntWrap) 在您的法师页面上创建一个容器 div
  4. 在要加载的每个页面上创建一个容器 div,比如 .ajaxDiv。这很重要,因为它不会将 _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 回答