保護されたプロパティを持つマスター ページを継承する aspx ページがあります。このような:
masterpage { 保護された文字列 propX.. }
マイページ : マスターページ
---myControl:UserControl
myControl コード ビハインドで propX にアクセスしたい
何か案は?
ありがとう!
保護されたプロパティを持つマスター ページを継承する aspx ページがあります。このような:
masterpage { 保護された文字列 propX.. }
マイページ : マスターページ
---myControl:UserControl
myControl コード ビハインドで propX にアクセスしたい
何か案は?
ありがとう!
文字列のアクセス修飾子を変更できる可能性があります。多分それを内部に設定します。
Page
クラスのプロパティをmyControl
クラスにキャストしてみMyPage
ませんか?
文字列値 = ((MyPage)this.Page).propX
また、他のクラス ( などmyControl
) からこのプロパティにアクセスする場合は、プロパティのアクセス修飾子をまたはpropX
に設定する必要があります。internal
public
myControl
オブジェクトをMyPage
ページに配置したと仮定しました。
マスターページから継承していますか?MasterPageディレクティブを追加しても、それが継承されるわけではありません。通常、aspxページはSystem.Web.UI.Pageから直接または間接的に継承する必要があります。
マスターページは「継承」されません。つまり、保護されたメンバーはページクラス(またはコントロールクラス)からアクセスできません。最善のオプションは、プロパティをパブリックまたは内部にすることです。