C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: gridviewでの画面遷移方法


(過去ログ 71 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■41522 / inTopicNo.1)  gridviewでの画面遷移方法
  
□投稿者/ からすまる (1回)-(2009/09/23(Wed) 00:14:52)

分類:[ASP.NET (C#)] 

2009/09/23(Wed) 00:32:10 編集(投稿者)

いつも参考にさせて頂いております。
質問させてください。

■現状(前提条件)
@画面WebAにあるGridViewのあるセル(リンクボタン)をクリック
Aクリックされたセルの値を取得
B画面WebBへ遷移。
GridViewにはsqlDatasorceをデータバインドしている。
GridViewの一行には複数のリンクボタンがあり、押されたリンクボタンによって飛ぶ画面を変えるため、
イベントハンドラGridView.RowCommand を用いて、ハンドラ内で分岐処理を行っている。

■トライしたいこと
現在は、Response.Redirect("xxxx.aspx")を用いて、分岐処理内で画面遷移を行っており、
取得したセルの値はSessionに格納して次ページに渡していますが
画面遷移の際に、取得したセルの値(BlogIDなど)の情報をurlに載せる仕様への変更を迫られております。
そのため、Response.Redirectを使用する方法から
WebAのDataNavigateUrlFormatStringにWebBを指定して、
http://wwwxxx.aspx?BlogID=○」でパラメータを渡す方法へ変更を考えております。


■困っていること
gridview内のプロパティにDataNavigateUrlFormatStringを指定したところ
イベントハンドラのGridView.RowCommand を通らず、直接画面webBへと遷移するようになってしまいました。
これではどのボタンが押されたのか判別することができず困っています。


そこでお聞きしたいのですが、
@そもそもDataNavigateUrlFormatStringを設定した際に、
イベントハンドラを通るような処理を設定することは可能なんでしょうか?

Aまたurlに可変値を含ませる方法として、
DataNavigateUrlFormatStringを用いない方法はありますでしょうか?
(Response.Redirectを使用しながら、urlに情報をのせる方法はありますでしょうか?)


Asp.netおよびC#の初心者のため、この変更方法が正しいのかもわかっておりません。
何か良い実現方法をご存知でしたら教えていただけますと幸いです。
キーワードでも結構ですのでアドバイスいただけませんでしょうか。

よろしくお願いいたします。

引用返信 編集キー/
■41524 / inTopicNo.2)  Re[1]: gridviewでの画面遷移方法
□投稿者/ gtk2k (82回)-(2009/09/23(Wed) 01:42:40)
そのリンクを表示させる列をテンプレート化して、ItemTemplateタグ内にAタグを下記のように記述すればいいんじゃね?
<ItemTemplate>
 <a href='http://www.hoge.aspx?BlogID=<%# Eval("BlogID") %>'>hoge</a>
</ItemTemplate>
(※<>は半角の<>)

引用返信 編集キー/
■41526 / inTopicNo.3)  Re[2]: gridviewでの画面遷移方法
□投稿者/ からすまる (2回)-(2009/09/23(Wed) 13:29:07)
2009/09/23(Wed) 13:30:22 編集(投稿者)

>gtk2k さん

アドバイスありがとうございます。
ご指摘いただいたように、リンク表示列をItemテンプレート化し<a href>タグを挿入してみましたが
次画面(BBB画面)へ画面遷移することができませんでした。
なにか書き方で誤りがありますでしょうか…。

  <ItemTemplate>

<asp:LinkButton ID="LinkBlogIDButton" runat="server"
Text='<%# Eval("Blog_ID", "{0}") %>' ></asp:LinkButton>
<a href='BBB画面.aspx?Blog_ID=<%# Eval("Blog_ID") %>'></a>

</ItemTemplate>

引用返信 編集キー/
■41527 / inTopicNo.4)  Re[3]: gridviewでの画面遷移方法
□投稿者/ gtk2k (83回)-(2009/09/23(Wed) 13:59:26)
2009/09/23(Wed) 14:20:42 編集(投稿者)
2009/09/23(Wed) 14:20:32 編集(投稿者)
2009/09/23(Wed) 14:07:40 編集(投稿者)
2009/09/23(Wed) 14:01:24 編集(投稿者)

Aタグに表示する文字列かかないと。
引用返信 編集キー/
■41528 / inTopicNo.5)  Re[4]: gridviewでの画面遷移方法
□投稿者/ からすまる (3回)-(2009/09/23(Wed) 14:35:59)
以下に変更してみましたところ、次画面へは飛ぶようになりました!
飛んだ先でurlからうまく値が取得できずエラーにはなるのですが、
とりあえず掲題の件については解決することができたようです。
アドバイスいただきましてありがとうございました!!

 <ItemTemplate>
 <asp:LinkButton ID="LinkBlogIDButton" runat="server"
 Text='<%# Eval("Blog_ID", "{0}") %>' PostBackUrl="BBB画面.aspx?Blog_ID=<%# Eval("Blog_ID") %>'
 ></asp:LinkButton>
 </ItemTemplate>

解決済み
引用返信 編集キー/
■41529 / inTopicNo.6)  Re[5]: gridviewでの画面遷移方法
□投稿者/ gtk2k (84回)-(2009/09/23(Wed) 14:43:10)
2009/09/23(Wed) 14:43:32 編集(投稿者)

QueryStringで取得
解決済み
引用返信 編集キー/
■41629 / inTopicNo.7)  Re[6]: gridviewでの画面遷移方法
□投稿者/ からすまる (5回)-(2009/09/26(Sat) 00:11:32)
>gtk2kさん

返信に間が空きまして申し訳ありません。
無事、QueryStringでURLから情報を取得することができました。
重ねがさね、ありがとうございました!

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -