根据内容页面更改母版页的外观

时间:2010-12-21 22:48:54

标签: asp.net

我的母版页有一个带标签的标题。代码看起来像:

<CT:Tab ID="tabHome" runat="server" Url="/index.aspx" Text = "Home" Highlight="true" />
<CT:Tab ID="tabFun" runat="server" Url="/fun.html" Text = "Fun"/>
<CT:Tab ID="tabBlog" runat="server" Url="/blog" Text = "Blog"/>

我可以想出两种方法来控制在用户控件中突出显示哪个选项卡:

  1. 让用户控件实现一个接口。主页面可以根据实现的接口或基于返回字符串的接口中的方法来决定要突出显示哪个选项卡。
  2. Page_Load(或Page_Init)函数中,告诉母版页(通过FindControl或通过母版页中的函数)要突出显示哪个控件。
  3. 我真的不喜欢这些解决方案。有没有一种干净的方法可以控制在设计时从控件中突出显示哪个选项卡(即在aspx文件中)?

1 个答案:

答案 0 :(得分:0)

我能想到的最好方法是:

  1. 在UserControl上创建一个事件委托,该委托传递一个参数,指示要突出显示哪个用户控件
  2. 在母版页上处理;因此,每当事件被触发时,它会根据传递的参数
  3. 选择正确的选项卡进行突出显示
  4. 在用户控件Page_Init
  5. 上触发事件

    活动和代表的良好开端在MSDN上: http://msdn.microsoft.com/en-us/library/aa645739(v=vs.71).aspx