У меня есть asp:Label
контроль под названием MyLabel
на моей главной странице внутри asp:LoginView
управления под названием lvMaster
, что я хочу, чтобы иметь возможность перейти от страницы кода контента позади.asp.NET: Не удается получить доступ к этикетке на мастер-странице из содержимого страницы
У меня есть следующий код на моей главной странице фоновым кодом:
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";
Это, кажется, работает прекрасно когда я его запускаю, но когда я загружаю его на наш сервер хостинга, я получаю следующую ошибку:
System.NullReferenceException: Object reference not set to an instance of an object.
H Могу ли я решить это?
Edit:
Я понял теперь, что эта проблема возникает только тогда, когда пользователь не вошел в систему (например, если пользователь не является уже вошли в систему администратора). Таким образом, решение этого будет выполняться Master.MyLabel = "My Text";
в блоке if(<user is logged in>) { }
. Что мне там делать?
Вы можете поместить его в шаблон Anonymous из login view –
Я только хочу войти в систему, чтобы увидеть ярлык. –