- PR -

ユーザーコントロールの値を参照するには?

投稿者投稿内容
クロ
会議室デビュー日: 2006/12/04
投稿数: 4
投稿日時: 2006-12-04 16:19
お世話になっております。ASP.NET初心者でございます。

現在、ASP.NETにてWebシステムの開発を行っております。
WebFormにUserControlを貼り付けた画面があります。
WebFormのイベントでUserControlにあるLabelのTextプロパティーを取得したいと思っております。
UserControlがロードされたタイミングでLabelのTextプロパティーをセットし、別の画面に遷移するまでその値を保ち続けます。
こちらの都合上、SessionObjectは使用できない状況です。

お忙しい中申し訳御座いませんが、皆様のお知恵をお借りできないでしょうか。
どうぞ宜しくお願い致します。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2006-12-04 17:17
ユーザーコントロールに、自分の中に張ってあるラベルの値を公開するようなプロパティを作ったらどうでしょう。
コード:
public string LabelValue{
  get{ return Label1.Text; }
}


こんな感じ。
クロ
会議室デビュー日: 2006/12/04
投稿数: 4
投稿日時: 2006-12-04 17:41
一郎様 返答ありがとうございます。

早速、試しましたが、以下のようにコーディングしたところエラーが発生しました。

■WebFormのコード
Dim UserControl As New UC_AppNo
Response.Write(UserControl.LabelValue)

■UserControlのコード
Public ReadOnly Property LabelValue() As String
Get
Return Label1.Text
End Get
End Property

■エラー発生場所
UserControlのコードにある「Return Label1.Text」

■エラーメッセージ
「オブジェクト参照がオブジェクト インスタンスに設定されていません。」

素人で大変恐縮ですが、何が原因で発生しているエラーなのでしょうか。
また、どのように対応すればよろしいのでしょうか。
宜しくお願い致します。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-12-04 17:46
引用:

未記入さんの書き込み (2006-12-04 17:41) より:

素人で大変恐縮ですが、何が原因で発生しているエラーなのでしょうか。


Label1 か WebPage が null なのではないでしょうか?
質問する前に、デバッグされることを強くお勧めします。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-12-04 19:13
ちなみに ASP.NET のバージョンはいくつですか?
_________________
かるあ のメモスニペット
クロ
会議室デビュー日: 2006/12/04
投稿数: 4
投稿日時: 2006-12-04 19:26
じゃんぬねっと様 かるあ様 返答ありがとうございます。

お手数をお掛けして申し訳ございません。
先ほどデバッグをしたところ、UserControlのLabel1のTextプロパティーは「Nothing」になっておりました。
WebFormでNewしたUserControlは、実際に表示されているものとは別のオブジェクトだからでしょうか?

開発環境は、VS.NET 2003です。

宜しくお願い致します。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-12-04 20:20
引用:

未記入さんの書き込み (2006-12-04 19:26) より:

WebFormでNewしたUserControlは、実際に表示されているものとは別のオブジェクトだからでしょうか?


ん?自分で New したんですか?

[code]
開発環境は、VS.NET 2003です。
[/quote]
1.1 の時に Property 経由での値の引渡しができなくて、 Session 経由で引き渡した記憶があるんだけれど実際できるのかな。。。
2.0 では普通にできる。

_________________
かるあ のメモスニペット
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-12-04 20:27
引用:

未記入さんの書き込み (2006-12-04 19:26) より:

WebFormでNewしたUserControlは、実際に表示されているものとは別のオブジェクトだからでしょうか?


別インスタンスであれば、表示されているものと別物になるのは当然です。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

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