- PR -

クエリ文字列が壊れる。

1
投稿者投稿内容
高中
常連さん
会議室デビュー日: 2005/12/07
投稿数: 21
投稿日時: 2006-01-31 20:00
いつもお世話になっております。 ASP.NET,及びC#でwebアプリケーションを開発している高中と申します。
画面Aから画面BにServer.Transferで画面遷移し、クエリ文字列でデータの受け渡しを行っていますが
画面Bでボタンをクリックした瞬間、クエリ文字列が壊れます。

Visualスタジオのウォッチでクエリを監視したところ

(正常)
Request.QueryString["MakerS"] "A" string
Request.QueryString["MakerL"] "あ" string
Request.QueryString["MakerO"] "BB" string
Request.QueryString["DisplayS"] "10" string

画面Bでボタンをクリック

(壊れている)
Request.QueryString["MakerS"] "A" string
Request.QueryString["MakerL"] "ぁEMakerO=EE" string
Request.QueryString["MakerO"] 関数 'Request.QueryString.get_Item' が評価され Null を返しました
Request.QueryString["DisplayS"] 関数 'Request.QueryString.get_Item' が評価され Null を返しました

となりました。

他の画面でもクエリ文字列を受かっていますがクエリが壊れるのはこの画面だけです。
この現象を回避する何かよい方法はないでしょうか? ご教授よろしくお願いします。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-01-31 20:39
特に全角文字があるときはエンコードしないと
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=26116&forum=7
高中
常連さん
会議室デビュー日: 2005/12/07
投稿数: 21
投稿日時: 2006-02-01 14:11
エンコードの件は了解しましたが、エンコードしていないことが原因なら、画面遷移した直後にこの現象が起こるような気がしますが・・・。(WEBアプリケーションをよく理解していないので勘違いかもしれませんが)
高中
常連さん
会議室デビュー日: 2005/12/07
投稿数: 21
投稿日時: 2006-02-01 14:13
かるあさん、ありがとうございます。エンコードしてテストし直します。

ただ、エンコードの件は了解しましたが、エンコードしていないことが原因なら、画面遷移した直後にこの現象が起こるような気がしますが・・・。(WEBアプリケーションをよく理解していないので勘違いかもしれませんが)
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-01 14:36
引用:

Request.QueryString["MakerL"] "ぁEMakerO=EE" string


ここがヒント、なんでしょうね。
MakerO は、この時点で識別子から抜け落ちてます。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
高中
常連さん
会議室デビュー日: 2005/12/07
投稿数: 21
投稿日時: 2006-02-01 15:42
かるあさん、じゃんぬねっとさん、ありがとうございました。
エンコードしてデータを送ると解決しました。
1

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