簡體   English   中英

更改用戶控件VB.Net上的文字文本

[英]Change Literal text on usercontrol VB.Net

美好的一天

我有一個VB.Net項目。 我的主頁是Display.aspx。我有使用此頁面的各種用戶控件(ascx)。 在這些控件之一上,我有一個文字,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 在此處輸入圖片說明

但是在我的網址上,該頁面是

Display.aspx?pid = 4

這會引起注意nullreferenceexception嗎? 由於頁面不再完全是Display.aspx,而是Display.aspx?pid = 4 在此處輸入圖片說明

我現在將如何更改文字的文本? 如何獲得確切的頁面,以便更改文本值?

謝謝您的幫助

編輯

這是在控件的代碼后面聲明的

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

但是文字沒有改變。 因此,為什么我要研究另一種方法

如果Literal在用戶控件中,則必須在此處查看,而不是在頁面中。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM