【发布时间】:2012-03-07 15:54:15
【问题描述】:
我是 .NET 领域的新手,在使用简单的 asp.net 应用程序和访问在后面代码中的 .ascx 文件中定义的控件时遇到了一个小问题。
这是我的 Default.ascx 文件:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<p>
<asp:Label AssociatedControlID = "userText" AccessKey = "L" runat="server" ID="userLabel">Username</asp:Label>
<asp:TextBox ID = "userText" runat="server" MaxLength="20" ></asp:TextBox>
</p>
</asp:Content>
这是 Default.aspx.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_Load(object sender, EventArgs e)
{
}
protected void Page_PreInit(object sender, EventArgs e)
{
userLabel.Text = "Hello!";
}
}
如您所见,很简单,我要做的就是以编程方式更改标签的文本属性。但是,当我运行它时,我得到了 NullReferenceException,userLabel 未设置为对象的实例。 userLabel 不应该是我的 _Default 类的属性吗?我尝试将 userLabel 显式设置为属性,但出现编译时错误,提示 userLabel 已经有定义。
我想我在这里遗漏了一些非常简单的东西,但我不确定它是什么。谁能告诉我我做错了什么?非常感谢!
【问题讨论】:
标签: asp.net .net visual-studio-2010