- PR -

[ASP.NET]カスタムコントロールのPageオブジェクトの取得方法

投稿者投稿内容
新人S
ベテラン
会議室デビュー日: 2005/10/12
投稿数: 74
投稿日時: 2005-10-31 15:05
いつもお世話になっておりますm(_ _)m

早速ですが、質問させてください。
使用言語:VB

カスタムコントロールを作成しました。
そして、その中でJavaScriptを吐くために、そのカスタムコントロールを貼ったPageオブジェクトが取得したいのです。
ページ側でカスタムコントロールに手動でPageを渡してやるのは可能だと思うのですが、
できればカスタムコントロール側がPageを取得できるような作りにしておいて、Page上で使う人はただ、カスタムコントロールを貼り付ければいいだけ、という風にしたいと
考えています。

どなたかご教授お願いできませんでしょうか、
よろしくお願いしますm(_ _)m
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2005-10-31 15:13
WebControl.Pageプロパティでどうでしょう。
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2005-10-31 15:18
そのカスタムコントロールがSystem.Web.UI.Controlクラスを継承してるなら、
this.Pageでいけると思います

#あ、かぶった…
新人S
ベテラン
会議室デビュー日: 2005/10/12
投稿数: 74
投稿日時: 2005-10-31 15:25
早速のお返事ありがとうございますm(_ _)m

お二人とも一緒のことを言っていると思ってよろしいのでしょうか?
this.pageというのはVBだからme.pageでよいのですよね。
まだ、他にコンパイルエラーが出ている状態なので実際に取れているかはわかりませんが、コンパイルエラー(波線)はきえました!

なんとなく、「me.」だと、コントロールの中の値にしかアクセスできないイメージがあったんですけど、コントロールのプロパティ(?)にPageとしてちゃんと貼り付けられたPageのオブジェクトを持っているんですね^^

とても参考になりました!
実際動かしてみて、また結果のご報告をしたいと思いますm(_ _)m
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-10-31 15:34
引用:

新人Sさんの書き込み (2005-10-31 15:25) より:

なんとなく、「me.」だと、コントロールの中の値にしかアクセスできないイメージがあったんですけど、コントロールのプロパティ(?)にPageとしてちゃんと貼り付けられたPageのオブジェクトを持っているんですね^^


? コントロールの中の値というよりは、そのクラスの公開された全メンバになりますよね。

  System.Web.UI.Page クラスのメンバ

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
新人S
ベテラン
会議室デビュー日: 2005/10/12
投稿数: 74
投稿日時: 2005-10-31 15:48

>? コントロールの中の値というよりは、そのクラスの公開された全メンバになりますよね。

コントロールのクラスの中に「me.」と書いたら、イメージ的に「me」はカスタムコントロールの中を指すのかと思っていました^^;
それで、「me.……」ならカスタムコントロールが持っているメンバとかしかアクセスできないのかな、と思ったものでm(_ _)m

「me」はカスタムコントロールクラスを指しているわけではないのですね。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2005-10-31 15:58
こんにちは。

引用:

コントロールのクラスの中に「me.」と書いたら、イメージ的に「me」はカスタムコントロールの中を指すのかと思っていました^^;


いや、そうですよ?
自分自身の事です。
Me.Page ならば 「自分のインスタンスのPageプロパティ」

#何か勘違いしていたらすみません。
新人S
ベテラン
会議室デビュー日: 2005/10/12
投稿数: 74
投稿日時: 2005-10-31 16:03
返信ありがとうございますm(_ _)m

>いや、そうですよ?
>自分自身の事です。
>Me.Page ならば 「自分のインスタンスのPageプロパティ」

あれ?
me.はコントロール自身なんですね。
では、コントロールが自分が張られているページのPageオブジェクトを持っているということでよいのでしょうか?(@_@;

スキルアップ/キャリアアップ(JOB@IT)