当前位置: 代码迷 >> ASP.NET >> master.FindControl的有关问题,初学者!
  详细解决方案

master.FindControl的有关问题,初学者!

热度:1120   发布时间:2013-02-25 00:00:00.0
master.FindControl的问题,菜鸟求助!!
我创建了一个网站,里面一个母版页,一个内容页,现在我在母版页添加了一个label,显示系统时间,在内容页中也添加一个label,用于显示母版页label的文本,但是抛出了异常。具体如下:
母版页:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MainMaster.master.cs" Inherits="MainMaster" %>

<!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>
    <asp:ContentPlaceHolder id="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
            <asp:Label ID="lbM" runat="server"></asp:Label>
        </asp:ContentPlaceHolder>
    </div>
    </form>
</body>
</html>

cs文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class MainMaster : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        lbM.Text = "今天是" + DateTime.Today.Year + "年" + DateTime.Today.Month + "月" + DateTime.Today.Day + "日";
    }
}

内容页:

<%@ Page Title="" Language="C#" MasterPageFile="~/MainMaster.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<p>
    <asp:Label ID="lbD" runat="server" Text="Label"></asp:Label>
</p>
</asp:Content>

cs代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_LoadComplete(object sender, EventArgs e)
    {
        [color=#FF0000]Label lb = (Label)this.Master.FindControl("lbM");
        lbD.Text = lb.Text;
    }
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

抛出异常:

lbM.Text = "今天是" + DateTime.Today.Year + "年" + DateTime.Today.Month + "月" + DateTime.Today.Day + "日";---未将对象引用设置到对象的实例

求解!!
------解决方案--------------------------------------------------------
ContentPlaceHolder是用来放内容页的内容的,在母板页中不需要添加ContentPlaceHolder的内容
  相关解决方案