我从 SQLServer2008 的数据库中创建了动态菜单,该菜单在页面加载时加载,并相应地显示菜单。问题是当我从内容页面单击菜单的任何 MenuItem 时,菜单控件也会再次从数据库加载,我想避免 PostBack 并防止命中数据库以加载菜单。
在 .master
<body>
<form runat="server">
<div class="page">
<div id="navbar" runat="server">
<asp:Menu ID="Menu1" Orientation="horizontal" RenderingMode="List" runat="server"
DynamicHorizontalOffset="0" OnMenuItemClick="Menu1_MenuItemClick">
<StaticMenuItemStyle HorizontalPadding="10px" />
</asp:Menu>
</div>
<br />
<div class="main">
<asp:ContentPlaceHolder ID="MainContent" runat="server">
Content here....
</asp:ContentPlaceHolder>
</div>
</div>
<div class="footer">
</div>
</form>
</body>
在 .master.cs 文件中
public partial class SiteMaster : System.Web.UI.MasterPage
{
static string conStr = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;
int empID = 0;
int recAffect = 0;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
populateMenuItem();
}
}
}
populateMenuItem() 是从名为 MenuMaster 的 SQLServerDB 表绑定菜单的方法。
当我单击任何 MenuItem 时,页面被重定向。这工作正常。只是我想避免在每次加载内容页面后加载菜单! 帮助赞赏!提前致谢!