13

マスターページを使用するコンテンツページにあるユーザーコントロールからマスターページを (できれば) 強く型付けする方法を探しています。

残念ながら、これをユーザー コントロールで使用することはできません。

<%@ MasterType VirtualPath="~/Masters/Whatever.master" %>

ユーザー コントロールからマスター ページのプロパティにアクセスしようとしていますが、複数のコンテンツ ページが同じユーザー コントロールを使用するため、マスター ページからコンテンツ ページ、ユーザー コントロールにプロパティを渡す必要はありません。1つの変更、1つの場所など。

4

4 に答える 4

0

私が見つけた最善の方法は、実際には UserControl に基づいたカスタム クラスを作成し、マスター ページに遭遇しなくなるまで this.Page.Parent を釣り上げる get アクセサーを含むマスター プロパティを与えることです (入れ子になっている場合、この手順はそれ以外の場合は不要です)、その Web コントロールを、使用するマスター ページの種類として返します。次に、新しいユーザー コントロールを追加するときに、その基本クラスをカスタム クラスの名前に変更します。.Master プロパティがアクセス可能になり、使用するマスター ページとして適切にキャストされます。

于 2010-01-25T16:58:30.390 に答える
0

ユーザーコントロールで Page.FindControl("name") を試しましたか?

于 2009-01-06T14:23:08.093 に答える