我有一个简单的ASP.NET Web用户控件。它长这样:
<%@ Control Language="C#" AutoEventWireup="true"
CodeBehind="NewsArticle.ascx.cs"
Inherits="Website.Controls.NewsArticle" %>
<div>
<asp:Literal ID="ltlBody" runat="server" />
</div>
我的代码后台看起来像这样:
namespace Website.Controls
{
public partial class NewsArticle : System.Web.UI.UserControl
{
public String bodyText
{
//get { return ltlBody.Text; }
set { ltlBody.Text = value; }
}
}
}
在一个.aspx页面上,我有一个标签。
在代码后台,我有:
foreach (vwNews news in newsQuery)
{
NewsArticle article = new NewsArticle();
article.bodyText = news.Body;
pNews.Controls.Add(article);
}
每次运行代码时,newsQuery都会正确填充,并且我到达
aticle.bodyText = news.Body;
这一行,然后收到错误article.bodyText threw an exception of type 'System.NullReferenceException'
。我不确定是什么导致了这个错误消息或如何修复它。我认为不应该有问题。我尝试创建Web用户控件的构造函数,以便它可以为我的属性提供默认值,但没有起作用。你有任何想法如何使它工作吗?这似乎不应该是那样。