- - PR -
MultiView上に配置したFormView内のコントロールの取得について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-10-03 19:23
はじめまして。お忙しい中申し訳ありませんが教えてください。
開発環境はVS2005(VB), WebApplicationです。 MultiView上にViewを2つ配置し、GridView、FormViewをそれぞれ配置しています。 FromViewのItemTemplateに配置してあるLabel1コントロールを FindControlを使用し、取得したいのですが取得できません。 Dim oLabel as Label=CType(FromView1.FindControl("Label1"),Label) (WebFormに直接FromViewを貼り付けた際には取得できます。) 初歩的なことで申し訳ありませんがご教授ください。 よろしくお願いいたします。 |
|
投稿日時: 2006-10-03 22:51
FormViewはMultiViewに含まれているでしょうから、MultiViewからコントロールの
階層をたどってあげる必要があると思います。 C#で書くとこんな感じ。 this.TextBox1.Text = ((Label)(((this.MultiView1.FindControl("View1")).FindControl("FormView1")).FindControl("Label1"))).Text; #もう少し楽にするのはどうすればいいんだろ。 |
|
投稿日時: 2006-10-04 08:13
どっとねっとふぁんさん、ご回答ありがとうございます。
下記の様にやってみましたが取得できませんでした。 Dim oLabel As Label = CType(multiView.FindControl("View2").FindControl ("FormView1").FindControl("Label1"), Label) FormViewの取得まではできるんですが。。。 Dim oFormView as FormView=CType(multiView.FindControl("View2").FindControl("FormView1"),FormView) |
|
投稿日時: 2006-10-04 10:29
自己レスです。
WebPageを初めから作成することで解決しました。 お騒がせしました。 同一のフォームで一方は取得でき、もう一方は取得できない。 調査してみます。ありがとうございました。 |
|
投稿日時: 2006-10-04 10:42
FormViewにデータソースは正しく設定されていますか?
手元でやってみて、データソースを設定せず、テンプレートの編集でLabelを 貼っただけだと同じようにLabelを見つけることができませんでした。 |
|
投稿日時: 2006-10-04 22:35
どっとねっとふぁんさん、ご指摘ありがとうございました。
View2に配置したFormViewはView1に配置したGridViewのSelectedValueを使い、 データを表示・編集するようにしていたのですがその際のDefault値を設定していなかった為、見つけることができなかったようです。 お手数をおかけしました。大変助かりました。 ありがとうございました。 |
1