我正在使用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或后面的代码..我不希望它导航到另一个页面而是在同一页面中执行操作..
答案 0 :(得分:1)
您可以使用javascript以及您可以在其中显示或隐藏的任何div,而不是使用Page链接。
您的密码:
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>
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以使用jquery.load方法,如下所示
var a = this.find(".contentWrap"),
a.load(this.getTrigger().attr("href") + " .ajaxDiv");
这个想法就是这个
现在在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 classe的方法。