2012-08-30 63 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" %>