dポイントプレゼントキャンペーン実施中!

こんにちは。
ASP.NET2.0を使っています。
文字列として渡されたURIの引数を入れ替えたいのですが、
なにかよい方法はないものでしょうか?
例えば、
http://xxxxxx/yyyy.aspx?A=XXXX&B=YYYY
といった形である場合に、A=XXXXを入れ替えて、
http://xxxxxx/yyyy.aspx?A=ZZZZ&B=YYYY
としたいのです。
このとき、引数にAがなく、
http://xxxxxx/yyyy1.aspx?B=YYYY
といった形であった場合にはなにもしません。
また、A以外の引数やパスの部分は任意です。
もちろん、XXXXの部分も不定です。

言語はC#を使っています。よろしくお願いします。

A 回答 (3件)

    • good
    • 0
この回答へのお礼

URL加工専用のクラスでもないものかと思ったのですが、どうもないようですね。
結局、String.Splitを使って処理できました。
ありがとうございました。

お礼日時:2008/12/02 18:20

No1, No2さんのやり方に加え、Global.asax のApplication_BeginRequestまたは、IHttpModuleを継承したカスタムクラスを作って、BeginRequestイベントでURLをReWriteできるものを作る必要があります。


HttpContext.Current.RewritePathでできると思いますので
この辺りをキーワードにして、試行錯誤、調べながらやって頂けたらと思います。
    • good
    • 0
この回答へのお礼

情報ありがとうございます。
BeginRequestイベントを使うのは、自分自身のページが呼ばれた際に、引数を加工したい時、ということでしょうか?
今回は自分自身が呼ばれた時ではなくて、他のページを呼ぶ際のURIの加工の方法でした。わかりずらくて申し訳ありません。
ともあれ、ありがとうございました。

お礼日時:2008/12/02 18:26

正規表現なり文字列操作なりで、パラメータを切り出して、


それを入れ替えて再構成するという手順が無難じゃないかと。
切り分けに関しては試行錯誤するしかないかも。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。先日もお世話になりました。

こういった場合の文字列操作には、どんな関数があるのでしょうか?
C/C++ならstrtok、perlならsplitあたりを使うところなのですが、
.NET/C#の場合にはなにか便利な関数はありますでしょうか?

お礼日時:2008/11/21 09:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!