トップ回答者
ListViewのLayoutTemplate内にあるサーバコントロールを制御

質問
-
ListViewのLayoutTemplateの中でasp:Labelを置きました。
このLabelにc#スクリプトから、値をセットしたいのですが、
Label1.Text = "abc";と書くと
エラー CS0103 現在のコンテキストに 'Label1' という名前は存在しません。
となります。
Label1をListViewの外へ出すとLabel1.Text = "abc";は問題なくコンパイルされます。
初歩的な質問で恐縮ですが、ListViewのLayoutTemplate内にあるサーバコントロールを制御するには
どうすれば良いでしょうか?
<LayoutTemplate> <table id="Table1" runat="server" class="table table-bordered table-hover table-striped"> <tr id="Tr1" runat="server"> <td id="Td1" runat="server"> <table runat="server" id="itemPlaceholderContainer" style="" border="0" class="table table-bordered table-hover table-striped"> <tr id="Tr2" runat="server" style=""> <th id="Th0" runat="server">送信者選択</th> <th id="Th1" runat="server">氏名</th> <th id="Th2" runat="server">メールアドレス</th> <th id="Th3" runat="server"> <asp:Label ID="Label1" runat="server" Text="事業所"></asp:Label> </th> <th id="Th4" runat="server">区分 </th> </tr> <tr runat="server" id="itemPlaceholder"></tr> </table> </td> </tr> <tr id="Tr3" runat="server"> <td id="Td2" runat="server" style=""></td> </tr> </table> </LayoutTemplate>
----------------------------------------------------------------
開発環境
Windows10 Pro、
Vsiaul Studio Community 2015(ASP.net C#)、
ASP.NET開発サーバ、Framework4.5
MySQL Server 5.6、MySQL Connector Net 6.6.9
-------------------------------------------------------------------
回答
-
質問者さんの先のスレッド(URL 下記)の ItemDataBound のコードで FindControl メソッドを利用して ListView 内に配置したコントロールを取得していたようですが、それと同様なことをすればよさそうですが。
そういう方法を知っているのに、今回のような質問が出るということは、FindControl では取得できなかったと言うことですか?
- 回答としてマーク hys73 2015年9月29日 18:13
-
【追伸】
LayoutTemplate テンプレートに配置した Label を FindControl で取得するには、そのタイミングで LayoutTemplate テンプレートが生成済である必要がありますが、それについては、これも質問者さんの以前のスレッド(URL 下記)に書いてあるはずです。
このスレッドを読み返してコーディングしても取得できないという場合はその旨連絡ください。
- 編集済み SurferOnWww 2015年9月29日 4:13 誤記訂正
- 回答としてマーク hys73 2015年9月29日 18:13
すべての返信
-
質問者さんの先のスレッド(URL 下記)の ItemDataBound のコードで FindControl メソッドを利用して ListView 内に配置したコントロールを取得していたようですが、それと同様なことをすればよさそうですが。
そういう方法を知っているのに、今回のような質問が出るということは、FindControl では取得できなかったと言うことですか?
- 回答としてマーク hys73 2015年9月29日 18:13
-
【追伸】
LayoutTemplate テンプレートに配置した Label を FindControl で取得するには、そのタイミングで LayoutTemplate テンプレートが生成済である必要がありますが、それについては、これも質問者さんの以前のスレッド(URL 下記)に書いてあるはずです。
このスレッドを読み返してコーディングしても取得できないという場合はその旨連絡ください。
- 編集済み SurferOnWww 2015年9月29日 4:13 誤記訂正
- 回答としてマーク hys73 2015年9月29日 18:13