求如何在内容页动态更改母模板中一个div的背景图片?主要是我获取不到母模板中的 DIV,也无法找到background-image属性,所以无法更改该的背景图片,请高手解决!
非常感谢!

解决方案 »

  1.   

    母版页:MasterPage.master
    <%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        <div id="div1" runat="server">the masterpage div here</div>
            <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
            </asp:contentplaceholder>
        </div>
        </form>
    </body>
    </html>
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class MasterPage : System.Web.UI.MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            
        }    public HtmlGenericControl TheDiv
        {
            get { return div1; }
            set { div1 = value; }
        }
        
    }
    引用页default12.aspx<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default12.aspx.cs" Inherits="Default12" Title="Untitled Page" %>
    <%@ MasterType TypeName="MasterPage" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
    </asp:Content>using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class Default12 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }
        protected void Button1_Click(object sender, EventArgs e)
        {
            this.Master.TheDiv.Style["background"] = "orange";
        }
    }
      

  2.   

    竹子给的例子修改的是颜色,你设置图片也行,如
     this.Master.TheDiv.Style["background"] = "url(img.jpg)";
      

  3.   

    母版页YourMasterPage.master ,中存在:<div id="div1" runat="server">your masterpage div </div>------------------------------------------
    内容页中修改:((YourMasterPage)this.Master).div1.Style["background-image"] = "url(your.jpg)";
      

  4.   

    //-------剛才忘了設訪問div1的屬性了
    母版页YourMasterPage.master   ,中存在:
    <div   id="div1"   runat="server"> your   masterpage   div   </div>
    -------------------------------------------
    母版页YourMasterPage.master.cs   ,中存在:
    public  Control MasterDiv1
    {
            get { return this.div1; }       
    }

    ------------------------------------------
    yourpage.aspx.cs内容页中修改:
    ((YourMasterPage)this.Master).MasterDiv1.Style["background-image"]   =   "url(your.jpg)"; 
      

  5.   

    说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: CS0122: “MainMaster.buydiv”不可访问,因为它受保护级别限制源错误: 行 14:     protected void Page_Load(object sender, EventArgs e)
    行 15:     {
    行 16:         ((MainMaster)this.Master).buydiv.Style["background-image"] = "url(images/2-1.gif)"; 
    行 17:        // this.Master.mindexdiv.Style["background"] = "url(images/2-1.gif)";
    行 18:     }
     
      

  6.   

    楼主如果按竹子的办法是绝对可行的,你不要尝试修改代码,完全COPY竹子的代码先试试再提问你不明白的问题.