gpt4 book ai didi

vb.net - 来自同一母版页的共享功能的母版页中的访问控制

转载 作者:行者123 更新时间:2023-12-02 07:36:46 25 4
gpt4 key购买 nike

我正在从内容页调用母版页的共享函数。在该共享函数中,我想访问母版页中的控件,但我不知道如何访问。

ma​​in.master

<asp:Literal ID="ltCurrency" runat="server" />

ma​​in.master.vb

Partial Public Class main
Inherits System.Web.UI.MasterPage

Public Property CurrencyText() As String
Get
Return ltCurrency.Text
End Get
Set(ByVal value As String)
If value <> "" Then
ltCurrency.Text = value
End If
End Set
End Property

Public Shared Function DoSomething() As String
ltCurrency.Text="SOME TEXT" 'throws error: Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class.

CurrencyText="SOME TEXT" 'this property isn't found at all

'我还尝试实例化当前母版页的一个新类:Ctype(main,Masterpage).CurrencyText

End Function


End Class

从 page1.aspx 我调用:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
main.DoSomething()
End Sub

我还能做什么?

最佳答案

对于它的值(value)(我不知道你为什么需要将其共享),你可以使用HttpContext来获取对你的页面的引用,并从那里到你的主控:

Public Shared Function DoSomething() As String
Dim myPage = TryCast(HttpContext.Current.Handler, Page)
If myPage IsNot Nothing Then
Dim myMaster As main = TryCast(myPage.Master, main)
If myMaster IsNot Nothing Then
myMaster.ltCurrency.Text = "SOME TEXT"
myMaster.CurrencyText = "SOME TEXT"
End If
End If
End Function

关于vb.net - 来自同一母版页的共享功能的母版页中的访问控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15087928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com