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をクリックすると、ページがリダイレクトされます。これは正常に機能します。コンテンツページをロードするたびに、メニューのロードを避けたいだけです。 感謝します!前もって感謝します!