2011-12-11 53 views
1

我的母版页中有一个Jquery SooperFish菜单。单击任何它正在重新加载菜单的SubMenu选项。每次在Child Page中有没有什么办法来重新加载菜单? 减少数据库查找。主页中的JQuery菜单在每个子页面重新加载页面

编辑:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="elogis.master.cs"  Inherits="elogis.elogis" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
<link rel="stylesheet" type="text/css" href="Styles/sooperfish.css" media="screen"/> 
<link rel="stylesheet" type="text/css" href="Styles/sooperfish-theme-large.css"  
media="screen"/> 
<script src="Jquery/jquery-1.4.2.min.js" type="text/javascript"></script> 
<script src="Jquery/jquery.easing-sooper.js" type="text/javascript"></script> 
<script src="Jquery/jquery.sooperfish.js" type="text/javascript"></script> 
<script type="text/javascript"> 

    $(document).ready(function() { 
     $('ul.sf-menu').sooperfish(); 
    }); 

</script> 
</head> 
<body> 

<form id="form1" runat="server"> 

<asp:Literal ID="Literal1" runat="server"></asp:Literal> 
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> 
</asp:ContentPlaceHolder> 
</form> 
</body> 
</html> 



protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     SooperFish spoorfishMenu = new SooperFish(); 
     Literal1.Text = spoorfishMenu.ExecuteXSLTransformation(); 
    } 
} 
+1

代码,代码,代码,哥们。是什么让SooperFish菜单重新加载菜单?它只是一个jQuery插件,因此您负责重新加载菜单。您可以将菜单放在用户控件中,并缓存该用户控件。 –

+0

嗨,Saeed,这个添加代码有帮助吗? –

回答

0

它看起来好像回发的onClick,如果你自己写它(JS)地址:

返回FALSE;

在最终

onClick="doSomething();return false;" 
0

除非你使用UpatePanel's或其他AJAX框架中,每个post-back是一个新的HTTP请求,这意味着菜单必须重新加载,因为重新加载页面。

您有缓存几种选择,所以搜索或看看下面的链接即可开始使用:

ASP.NET Caching

+0

瑞克嗨,首先是从一个动态XML生成所述菜单这样的:

  • MASTERS
  • ORDERS
  • REPORTS
  • LOGOUT
  • ...所以onclicking任何子菜单是简单地从锚标记,是锚标记的这种情况发生堂妹?我做错了什么或者有什么方法可以做得更好? –