- PR -

ItemTemplate内のImageButtonをクリックしたときに、AlternateTextを取得したい

1
投稿者投稿内容
Wingard
大ベテラン
会議室デビュー日: 2004/10/04
投稿数: 168
お住まい・勤務地: 頭の中はファンタージェン
投稿日時: 2007-01-09 13:50
よろしくお願いします。

現在、C#とMSSQLを使ってASP.NETのプログラムを作っており、
そのページ内にDatalistとTextBoxを置いています。
そしてそのDatalist内にItemTemplateを作り、
さらにその中にImageButtonを置いています。

このImageButtonをクリックしたときに、
そのImageButtonのAlternateTextを、
TextBoxに表示させたいのですが、

TextBox1.text = ImageButtonTest.AlternateText.toString();

としても、
「ImageButtonTestは現在のコンテキスト内に存在しません」
と表示されビルドができません。
これはItemTemplate内に置いてあるものだからできない、
ということまではなんとなくわかったのですが、
そのためにどうすればいいかが見当付かず、困っています。

ItemTemplate内のアイテムから情報を取り出すための、
何か良い案はありませんでしょうか?



_________________
◇◇◇ 社内SEを兼務する文系プログラマです。
◇◇◇ WinXP VisualStudio2005(C#メイン) MS・SQLServer とかを使っています。
◇◇◇ 周囲にプログラマがいないので、みなさんだけが頼りです(;ω;`)

[ メッセージ編集済み 編集者: Wingard 編集日時 2007-01-09 13:51 ]
Wingard
大ベテラン
会議室デビュー日: 2004/10/04
投稿数: 168
お住まい・勤務地: 頭の中はファンタージェン
投稿日時: 2007-01-09 15:52
ああ、すみません、自己解決してしまいました……。
1日迷ったあげく、ここに書き込んだら、
なぜかその直後に何かが閃くんですよね……(´・ω・)

本来やりたかったことは、もともとデータベースに格納されている
「ID」という項目をプログラムで取得したくて、
そのIDをAlternateTextに入れるところまではできていたんですが、
そのAlternateTextを取得することがどうしてもできずに、
このような質問をさせていただきました。

結局、そんな回りくどいことをしなくても、
データリスト自体にそのIDを持たせられることがわかったので、
AlternateTextは取得する必要はなくなりました……。


で、やったことは、Datalistに
「OnItemCommand="DataImageBtn_Click" DataKeyField="ID"」
というのを追加して、

コード:

void DataImageBtn_Click(object sender, DataListCommandEventArgs e)
{
//選択されたIDを取得
testID = searchLeafDL1.DataKeys[e.Item.ItemIndex].ToString();
}



とするとtestIDが選択したデータのIDになりました。
あまり参考になってないかもしれませんが、
ひとまず記録として残しておきます。


[ メッセージ編集済み 編集者: Wingard 編集日時 2007-01-09 15:53 ]
1

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