asp.不能从内容页访问母版页上的标签
本文关键字:母版页 标签 访问 不能 asp | 更新日期: 2023-09-27 18:03:19
我有一个asp:Label
控件称为MyLabel
在我的主页内的asp:LoginView
控件称为lvMaster
,我希望能够从后面的内容页代码改变。
我有下面的代码在我的主页代码后面:
public string MyLabel
{
get
{
var lblMyLabel = (Label)lvMaster.FindControl("lblMyLabel");
return lblMyLabel.Text;
}
set
{
var lblMyLabel = (Label)lvMaster.FindControl("lblMyLabel ");
lblMyLabel .Text = value;
}
}
我的内容页上有这个在页面加载:
Master.MyLabel = "My Text";
当我运行它时,这似乎工作得很好,但是当我将它上传到我们的托管服务器时,我得到以下错误:
系统。NullReferenceException:对象引用没有设置为对象的实例。
如何解决这个问题?
编辑:我现在已经意识到,这个问题只发生在用户没有登录时(即,如果用户不是一个已经登录的管理员)。因此,解决这个问题的方法是在if(<user is logged in>) { }
块中运行Master.MyLabel = "My Text";
。我在那里应该做什么?
从这个答案
检查用户是否登录:
bool isLoggedIn = (System.Web.HttpContext.Current.User != null) && System.Web.HttpContext.Current.User.Identity.IsAuthenticated
然后添加到if语句中:
if(isLoggedIn) Master.MyLabel = "My Text";