読者です 読者をやめる 読者になる 読者になる

餃子が食べたい

メガネが最も必要な時、メガネは必ず手元にないのである

C#で全角文字URLパラメータを持った状態でPostすると大変なことになる

そもそも全角文字をURLパラメータに持つなって話だけどさ

URL?parameter=なんとかかんとか

ってページ内でPostする

したら、Post終了後に「なんとかかんとか」の部分が「%u00%u00~」みたいな形にものすごく文字化けする

今扱っているプログラムは内部でRequest.QueryStringでURLパラメータを取得するから、もう一度Postすると例外が発生したりする

どうすればいいのかねえ

今回は

http://stackoverflow.com/questions/5101919/how-to-redirect-to-an-action-with-parameters-from-other-action-without-passing-p

ここら辺を参考にして

RedirectToActionで、内部で強引にURLパラメータを使わない方法で別に同じ値を取得して、Get側のメソッドに移ったけど

それだと、登録時のメッセージ表示とか登録失敗時のメッセージ表示とか行いたいときに困るんだよなあ

ちょっといま思いついたこと

いままでの発想が全部、全角パラメータを引き渡してしまった後にどうにかしようとしていたけれど

そうじゃなくって、リンクする時点でURLパラメータをURLエンコードしてしまうっていうのはどうだろう

プログラムは会社にあるから今は試せないけれど、それで全部解決しそうな気がする

 

パソコンの前で悩んでるよりも、家に帰るときとかふとアイデアって浮かぶのはなんでだろうな