我不知道为什么这个例子中的最后一行代码不起作用。在default.aspx.vb中:
Public Var1 As String
在default.aspx.vb中的Protected Sub中:
Var1 = "a"
ModalPopupExtender1.Show()
在default.aspx.vb中的另一个Protected Sub:
Var1 = "b"
ModalPopupExtender1.Show()
在用于asp Radiobutton的ModalPopupExtender1面板的default.aspx中:
text = "Beginning of the text " & Var1 & " next of the text"
这里必须显示值a或b。
答案 0 :(得分:1)
我想从你的问题中你试图在html页面上使用该变量?如果是这样,试一试:
text = "Beginning of the text " & "<%=me.Var1.Text%>" & " next of the text"
答案 1 :(得分:0)
问题在于.aspx页面的标记在页面生命周期的初始化阶段的某个地方很早就被解析了。因此,当在标记中设置text
字段时,(可能)对变量Var1 进行的操作尚未发生。
要解决此问题,您应将此字段设置为后面的代码。确保这一次在页面生命周期的后期执行,而不是标记为Var1
的行。我建议PreRender用于此目的。请注意,它仍然应该在基本类中。所以,如果_Default.aspx.cs:
Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs)
TheControlID.Text = "Beginning of the text " & Var1 & " next of the text";
End Sub