- PR -

Webフォームからユーザコントロールの設定

1
投稿者投稿内容
Nak
会議室デビュー日: 2005/03/11
投稿数: 18
投稿日時: 2005-04-08 02:42
いつも閲覧させていただき参考にさせて頂いてます。ASP.NET初心者の者です。
今回、お聞きしたいのはWebフォームからユーザコントロールの値をセットする方法です。具体的にはーザコントロール側にimageコントロールを配置し、imageUrlをWebフォーム側で設定したいのです。下記PGMを実行すると"オブジェクト参照がオブジェクトインスタンスに設定されていません。"というエラーになってしまいます。よろしくご指導のほどお願いいたします。

■Webフォーム側
Protected UctHead As HeaderControl
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
If Page.IsPostBack = False Then
UctHead.ImagePath = "gifファイルの相対パスを記述"
End If
End Sub
■ユーザコントロール側
Private _image As String
Public WriteOnly Property ImagePath() As String
Set(ByVal Value As String)
_image = Value
End Set
End Property

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
                     System.EventArgs) Handles MyBase.Load
' ページを初期化するユーザー コードをここに挿入します。
Me.Image1.ImageUrl = _image
End Sub
にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2005-04-08 08:52
これが原因かどうかはさておいて。

今回の場合、_image は不要だと思います。
コード:
Public Property ImagePath() As String
  Get
    Return Image1.ImageUrl
  End Get
  Set(ByVal Value As String)
    Image1.ImageUrl = Value
  End Set
End Property


でいいんじゃないでしょうか。
SE卵
大ベテラン
会議室デビュー日: 2004/10/22
投稿数: 135
投稿日時: 2005-04-08 12:18
こんにちは。

原因として考えられるのは、インスタンスがないって事
だから、UctHeadが無いって事だと思うんですが。。。

Protected UctHead As HeaderControl

実際にフォーム上に置いているユーザコントロールの
IDはUctHeadになっていますか?
Nak
会議室デビュー日: 2005/03/11
投稿数: 18
投稿日時: 2005-04-09 00:48
返信が送れて申し訳ありませんでした。
SE卵さんの言われるようにUctHeadが存在しませんでした。
本当にありがとうございました。
またにしざきさんのおかげで不要な処理を消すこともできました。
お二方本当にどうもありがとうございました。今後もよろしくお願い致します。
1

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