关于 内容页 修改 母版页 控件 的问题 ,各位大神,帮帮忙

allin1987 2013-09-23 10:53:59
母版页 MasterPage.master
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="Test_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>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">

<asp:Button ID="Button1" runat="server" Text="Button" />

</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>



内容页 default.aspx
<%@ Page Title="" Language="C#" MasterPageFile="~/Test/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Test_Default" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>



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

public partial class Test_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Button btn = this.Page.Master.FindControl("Button1") as Button;

btn.Text = "Button2";
}
}


我打开 default.aspx 的时候出现
Server Error in '/' Application.

Object reference not set to an instance of an object.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:


Line 12: Button btn = this.Page.Master.FindControl("Button1") as Button;
Line 13:
Line 14: btn.Text = "Button2";
Line 15: }
Line 16: }

Source File: d:\home\olap\Test\Default.aspx.cs Line: 14

Stack Trace:


[NullReferenceException: Object reference not set to an instance of an object.]
Test_Default.Page_Load(Object sender, EventArgs e) in d:\home\olap\Test\Default.aspx.cs:14
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +91
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207


是哪里出问题了???
...全文
113 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
allin1987 2013-09-23
  • 打赏
  • 举报
回复
跟大括号 } 有什么关系吗?
insus 2013-09-23
  • 打赏
  • 举报
回复
把16行移到14至18行之外。 再试。
allin1987 2013-09-23
  • 打赏
  • 举报
回复
顶一下 都沉到第2页了
罗卜基斯 2013-09-23
  • 打赏
  • 举报
回复
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server"> <asp:Button ID="Button1" runat="server" Text="Button" /> </asp:ContentPlaceHolder> 把标红色的部分放到ContentPlaceHolder的外部去,因为ContentPlaceHolder是针对内容页的
allin1987 2013-09-23
  • 打赏
  • 举报
回复
谢谢啦,按你说的解决了,可是我想button这个控件在contentplaceholder1里面,应该怎么做啊???
insus 2013-09-23
  • 打赏
  • 举报
回复
Insus.NET指的是下面三句:

<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">         
   <asp:Button ID="Button1" runat="server" Text="Button" />         
</asp:ContentPlaceHolder>

62,071

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧