- PR -

DataGridテンプレート列のテキストボックスの値をURLへセット

1
投稿者投稿内容
daito
常連さん
会議室デビュー日: 2005/03/26
投稿数: 30
投稿日時: 2005-04-24 03:41
ASP.NETの開発をVB.NETで行っています。
ASP.NET開発は初めてなので、このサイトには大変お世話になっています。

DataGridのテンプレート列に作成したハイパーリンク列に、
HTMLで直接編集して、ハイパーリンク列のURLに指定する引数として、
同じGrid内の別テンプレート列に作成したテキストボックス内に入力された値を
埋め込みたいと考えております。

テンプレート列のテキストボックスは、データバインドはしていないので、
DataBinder.Eval..で取り出す事は出来ません。

HTMLのURLへ直接、テンプレート列のテキストボックスの値を埋め込むことは可能でしょうか?
やはり、データバインドさせるかSession変数等で引数を渡す方がよいのでしょうか?

みなさんのご意見をお聞かせ下さい。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2005-04-24 16:21
NAL-6295です。

JavaScriptを利用して、
リンクのURL指定を

コード:
    location.href="指定したいURL?渡したいクエリの名前=" + テキストボックスのID.value;



とする事で、出来ると思います。

もし、別のウィンドウを開いてという話であれば、location.hrefをwindow.openに置き換えてください。
daito
常連さん
会議室デビュー日: 2005/03/26
投稿数: 30
投稿日時: 2005-04-24 16:40
ご回答ありがとうございます。

少し説明が足りませんでしたが、URLへ指定する引数には、
テンプレート列のテキストボックスの値以外に、
DataGridのデータバインド列値があります。

JavaScriptを利用するとなると、二つの引数付きのfunnctio(location.href)を動的に作成するような形になるのでしょうか?
的はずれな事を言っていましたら、どんどんご指摘ください。


[ メッセージ編集済み 編集者: daito 編集日時 2005-04-24 16:55 ]
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2005-04-24 18:20
引用:

daitoさんの書き込み (2005-04-24 16:40) より:
ご回答ありがとうございます。

少し説明が足りませんでしたが、URLへ指定する引数には、
テンプレート列のテキストボックスの値以外に、
DataGridのデータバインド列値があります。

JavaScriptを利用するとなると、二つの引数付きのfunnctio(location.href)を動的に作成するような形になるのでしょうか?
的はずれな事を言っていましたら、どんどんご指摘ください。


[ メッセージ編集済み 編集者: daito 編集日時 2005-04-24 16:55 ]



そうですね。location.hrefにurlを渡すときに、複数のクエリ文字列を渡してあげれば良いと思います。

コード:
指定したいURL?名前1=データバインドの値&名前2=" + テキストボックスのID.value;



といった感じでしょうか・・・。
daito
常連さん
会議室デビュー日: 2005/03/26
投稿数: 30
投稿日時: 2005-04-25 10:58
お教えて頂いた、JavaScriptで対応する方法を実践しようと試みたのですが、
複数のクエリ文字列を引数にJavaScriptを、セットする場所がよく分かりませんでした。

直接HTMLを編集しようとしたのですが、<ItemTemplate><asp:HyperLink ....>内に記述する方法が分からず、
また、DataGridの「_ItemCommand」イベント内等に記述しようとしたのですが、<ItemTemplate><asp:HyperLink...の設定が優先され
うまく行きませんでした。

もう少し詳しい手順を教えてください。お願いします。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2005-04-25 11:09
引用:

daitoさんの書き込み (2005-04-25 10:58) より:
お教えて頂いた、JavaScriptで対応する方法を実践しようと試みたのですが、
複数のクエリ文字列を引数にJavaScriptを、セットする場所がよく分かりませんでした。

直接HTMLを編集しようとしたのですが、<ItemTemplate><asp:HyperLink ....>内に記述する方法が分からず、
また、DataGridの「_ItemCommand」イベント内等に記述しようとしたのですが、<ItemTemplate><asp:HyperLink...の設定が優先され
うまく行きませんでした。

もう少し詳しい手順を教えてください。お願いします。




ItemDataBoundで該当のコントロールのAttributesにセットしてやればよいと思います。

コントロールの取得の仕方等は、過去ログとかMSDNとか、書籍を参考にしてください。


_________________
「伝える」とは「人に云う」と書く。
http://d.hatena.ne.jp/NAL-6295/
1

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