2011-12-11 73 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任何子菜單是簡單地從錨標記,是錨標記的這種情況發生堂妹?我做錯了什麼或者有什麼方法可以做得更好? –