2012-08-30 64 views
0

我正在開發電子商務網站的母版頁。主頁上有左側菜單欄。此左側菜單欄包含「類別」列表和更改爲用戶更改類別。類別存儲在SQL DB中。所以,我想重建這個菜單欄作爲類別的變化,這可能嗎?如何動態更改母版頁的內容

有旁觀www.actgreen.com.au/www

同時,我想創建麪包屑的網站,我該怎麼辦。

我使用的是asp.net 4.0。

謝謝。

+0

你試圖用代碼的東西...如果是的話,它張貼在這裏.. –

+0

不,我只是爲母版頁創建UI​​。我正在考慮更多這些。這些網站已經在Classic asp開發。 –

+0

如果我將在你的地方,我會分配一些類到標籤,然後使用jquery來更新標籤。像分配一個類說cssClass =「myLabel」,然後從母版頁或內容頁寫ScriptManager.RegisterStartupScript(this.Page,typeof(Page),「scr」,「$('。myLabel')。text('Updated Content ');「,true); – Moons

回答

0

那麼,我們不知道你在代碼中使用了什麼確切的方法來綁定左邊的菜單。你也必須在你的母版頁中綁定你的左邊的菜單。因此,每次點擊左側菜單時,都可以通過提供一些參數來重新綁定它。 或者如果你需要一些不同的頁面,或從內容調用它pages..then你可以嘗試這樣的..

System.Reflection.MethodInfo mInfo = this.Page.Master.GetType().GetMethod("RefreshLeftMenu"); 
mInfo.Invoke(this.Page.Master, null); 

我做這種方式...希望它有助於你。 。

+0

在頁面中,您可以通過Master.FindControl(controlName) –

+0

獲得對masterpage的任何控制權限,但是其關於在其內容頁面中調用master頁面的方法... –

+1

您可以直接調用Master.RefreshLeftMenu()。要做到這一點,你必須在ContentPage上註冊MasterType:<%@ MasterType VirtualPath =「Site.Master」%> –

0

您可以在母版使用的控制和改變它們在頁面的OnLoad

Label MyLabelBrand = (Label)Master.FindControl("LabelBrand"); 
MyLabelBrand.Text = "Fabrikam"; 

如果你想打電話給母版頁的方法Refresh(),你需要調用Master.Refresh();。 要做到這一點,你需要在ContentPage註冊大師類型:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" 
CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %> 

<%@MasterType VirtualPath="Site.Master" %>