nullreferenceexception was unhandled by user code in Master Page

北慕城南 提交于 2019-12-11 14:11:14

问题


I am having master page.Below is the Designer part.

<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="lblMaster" runat="server" Text=""></asp:Label>
        </asp:ContentPlaceHolder>
    </div>
    </form>
</body>
</html>

In page_load of Master Page ,I write lblMaster.Text = "Master";

In my Asp.Net page,

<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="MasterPractice.WebForm1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <asp:Label ID="lblfrm" runat="server" Text="Label"></asp:Label>
</asp:Content>

In my page_load I get,

lblfrm.Text = "Form";

I am getting the mentioned error at my master page.

Please guide me for mentioned concerns.


回答1:


Because the Label is inside a ContentPlaceHolder control, you must first get a reference to the ContentPlaceHolder and then use its FindControl method to locate the Label.

ContentPlaceHolder Content2;
Label  lblfrm;
Content2 = (ContentPlaceHolder)Master.FindControl("Content2");
if(Content2 != null)
{
    lblfrm = (Label) Content2.FindControl("lblfrm");
    if(lblfrm != null)
    {
        lblfrm.Text = "Form";
    }
}

How to: Reference ASP.NET Master Page Content

Edit: To find lblMaster as requested in comment:

ContentPlaceHolder ContentPlaceHolder1;
Label  lblMaster;
ContentPlaceHolder1 = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");
if(ContentPlaceHolder1 != null)
{
    lblMaster = (Label) ContentPlaceHolder1.FindControl("lblMaster");
    if(lblMaster != null)
    {
        lblMaster.Text = "Master";
    }
}


来源:https://stackoverflow.com/questions/12909604/nullreferenceexception-was-unhandled-by-user-code-in-master-page

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!