0

保護されたプロパティを持つマスター ページを継承する aspx ページがあります。このような:

masterpage { 保護された文字列 propX.. }

マイページ : マスターページ

---myControl:UserControl

myControl コード ビハインドで propX にアクセスしたい

何か案は?

ありがとう!

4

3 に答える 3

1

文字列のアクセス修飾子を変更できる可能性があります。多分それを内部に設定します。

于 2011-10-16T17:08:44.833 に答える
1

PageクラスのプロパティをmyControlクラスにキャストしてみMyPageませんか?

文字列値 = ((MyPage)this.Page).propX

また、他のクラス ( などmyControl) からこのプロパティにアクセスする場合は、プロパティのアクセス修飾子をまたはpropXに設定する必要があります。internalpublic

myControlオブジェクトをMyPageページに配置したと仮定しました。

于 2011-10-16T17:22:23.163 に答える
0

マスターページから継承していますか?MasterPageディレクティブを追加しても、それが継承されるわけではありません。通常、aspxページはSystem.Web.UI.Pageから直接または間接的に継承する必要があります。

マスターページは「継承」されません。つまり、保護されたメンバーはページクラス(またはコントロールクラス)からアクセスできません。最善のオプションは、プロパティをパブリックまたは内部にすることです。

于 2011-10-16T17:10:37.813 に答える