2016-05-19 3 views
0

Добрый деньИзменить Литеральный текст на usercontrol VB.Net

У меня есть проект VB.Net. Моя главная страница - Display.aspx У меня есть различные usercontrols (ascx), которые используют эту страницу. На одном из этих элементов управления у меня есть Literal, lblCatQuestion. В коде позади управления

Protected WithEvents lblCatQuestion As Literal 

Что это буквальное в основном делает это загружает с некоторыми текстовыми и радио кнопок. При нажатии на переключатели появляется форма JQuery. По завершении формы и сохранения и закрытия этот литерал должен теперь отображать сообщение. сообщение приходит из кода основного дисплея страницы за

Для целей здесь, на Display.aspx.vb

Session("CatMessage") = "Completed" 
    Dim label As System.Web.UI.WebControls.Literal = New System.Web.UI.WebControls.Literal 
    label = DirectCast(Page.FindControl("lblCatQuestion"), System.Web.UI.WebControls.Literal).Text = Session("CatMessage") 

проблеме, когда я отладку, я всегда получаю NullReferenceException при попытке присвоить текст в литерал. Когда я смотрю, страница здесь описывается как

display_aspx enter image description here

, но на мой URL, страница

Display.aspx? PID = 4

Может ли это привести к ошибке nullreferenceexception? Поскольку страница больше не является Display.aspx, но Display.aspx? Pid = 4 enter image description here

Как бы изменить текст буквального текста сейчас? Как получить точную страницу, чтобы изменить значение текста?

Спасибо за помощь

EDIT

Это объявлен в коде элемента управления за

If Not Session("CatMessage") Is Nothing Then 
      lblCatQuestion.Text = Session("CatMessage") 
     End If 

Но текст не меняется. Поэтому почему я рассматриваю другой метод?

ответ

0

Если Литерал находится в пределах пользовательского элемента управления, вам нужно посмотреть там, а не на странице.

Session("CatMessage") = "Completed" 
Dim label As System.Web.UI.WebControls.Literal 
label = DirectCast(UserControl.FindControl("lblCatQuestion"), System.Web.UI.WebControls.Literal).Text = Session("CatMessage") 
+0

Я попробовал это. все еще не работал. то, что у меня было раньше, было If Not Session («CatMessage») Nothing Nothing lblCatQuestion.Text = Session («CatMessage») End If, но это не обновляло метку. вот почему я пытаюсь другим способом –