【发布时间】:2013-03-06 20:28:19
【问题描述】:
我正在尝试将自定义用户 Web 控件的标签文本设置为
Email em = new Email(); //Email is the class of the custom user web control
em.setEmail(email);
Panel2.Controls.Add(em);
控件中的setEmail()函数将标签lblEmail的值设置为
public void setEmail(string recEmail)
{
lblEmail.Text = recEmail;
}
但我收到以下错误:
调试时我看到recEmail 正在获取所提供的值。但不将其分配给lblEmail.Text。
我以为可能是控件注册问题,所以注册为
<%@ Register Src="~/Email.ascx" tagname="Email" TagPrefix="uc1" %>
我也尝试在 setEmail() 函数中设置值,如下所示:
public void setEmail(string recEmail)
{
string a=recEmail;
lblEmail.Text = a;
}
调试时这表明a 正在获取recEmail 的值,但它没有分配给lblEmail.Text
由于无法上传完整代码,请注意以下几点:
- 名为 Panel2 的面板位于 UpdatePanel 中,在将电子邮件控件添加到面板后会进行有条件更新。
- Email.ascx 文件位于调用它的文件的父文件夹中。表示如果 Email.ascx 位于 A 文件夹中,则调用它的文件位于 A/B 文件夹中。但我不认为这会产生影响。刚刚提到是为了向您提供有关情况的完整信息。
请告诉我该怎么做才能解决这个问题?
【问题讨论】:
标签: c# asp.net c#-4.0 custom-controls nullreferenceexception