如何从用户控件中查找主页面上的控件

时间:2014-08-02 12:42:22

标签: c# asp.net user-controls master-pages

我正在尝试从用户控件更改主页面上的DIV的CSS属性,但到目前为止我还没有成功。代码如下:

母版

 .....
 <div class="BGfixed" id="masterpageBody" runat="server"></div>
 .....

内容页面

<%@ Page Title="" Language="C#" MasterPageFile="~/main.Master" AutoEventWireup="true" CodeBehind="background.aspx.cs" Inherits="bardaba.Members.background" %>

<%@ Register TagPrefix="uc" TagName="editingPages" Src="~/UserControls/editingPages.ascx" %>
 ....
 <uc:editingPages id="editingPages1" runat="server" />

用户控制 - 代码背后

 HtmlGenericControl background_image = (HtmlGenericControl)Master.FindControl("masterpageBody");
            background_image.Attributes.Add("style", "background-image:url(/Members/images/BG/" + imgBG_user + ")");

由于母版页在用户控件的上下文中不存在,因此我收到错误。除了Master.FindControl以外,我如何从用户控件中引用母版页?...

谢谢

1 个答案:

答案 0 :(得分:2)

尝试this.Page.Master

HtmlGenericControl background_image = (HtmlGenericControl)Page.Master.FindControl("masterpageBody");
background_image.Attributes.Add("style", "background-image:url(/Members/images/BG/" + imgBG_user + ")");