• 締切済み

request.QueryStringについて

Iページ遷移する前のASPのURLで、あるパラメータ自体が存在するか存在しないかで次のASPの実行が異なる処理をさせるにはどのように書けば良いか教えて頂けますでしょうか? 例えば遷移前のページでshuruiというパラメータがあるか無いかのパターン分けをします。 <% If request.QueryString("shurui") = "1" Then %> 実行A <% ElseIf request.QueryString(※shuruiパラメータが存在しない場合) Then %> 実行B <% END IF %> 実行Bを走らせる場合にもただ単に<% ElseIf request.QueryString("shurui") = "" Then %> 値を存在しない場合と書けば宜しいのでしょうか? 宜しくお願いします。

みんなの回答

  • nmktksk
  • ベストアンサー率36% (75/208)
回答No.2

>実行Bを走らせる場合にもただ単に<% ElseIf request.QueryString("shurui") = "" Then %> 値を存在しない場合と書けば宜しいのでしょうか? それで動いたはずです。 実行A、実行Bに文字を出力するだけの簡単なものを入れて実際に試験すれば分かります。

yoshimoshi
質問者

お礼

ありがとうございました。 お礼が遅れてすみませんでした。

  • onos
  • ベストアンサー率81% (127/155)
回答No.1

えと、状況がよく見えないのですが。。。 ページ1とそこから遷移するページ2が存在している。 ページ2で何か処理をするときに、ページ1に対してクエリストリングで特定のパラメータがついていたかどうかを判断したい。 こういうことでいいでしょうか? で、もしそういう状態だとしたら、ページ2の側でページ1に渡されたクエリストリングの値を判断することはできません。 Webの仕組みとして無理です。 対処としては、ページ1からページ2に遷移する際、ページ1で渡されたクエリストリングを必ずページ2に引き継ぐようにするか、セッションを使ってその値をページ2に引き継ぐか、どちらにしても状態をページ2の側に引き継ぐ仕組みを考える必要があります。 そのうえでページ2の側でもらった値から処理を区別するようにしましょう。

yoshimoshi
質問者

お礼

ありがとうございました。 お礼が遅れてすみません。

関連するQ&A

  • Request.QueryStringの型について

    Request.QueryString("testNo")で取得した値の型についてなのですが、私は文字列だと思っていました。 ところがここでわからなくなってしまったのが、 Request.QueryString("testNo")で取得した値を比較するときです。 たとえば ttp://xxxx/xxx.aspx?testNo=3 で受取ったRequest.QueryString("testNo")を比較するとします。 if Request.QueryString("testNo") = "3" then と if Request.QueryString("testNo") = 3 then ではどちらもTrueになるのですが、これはどうしてなのでしょう? どういった解釈がなされているのかが知りたいです。 もしくは、書いてあるページを教えていただけると幸いです。 今までは特に気にしてなかったのですが、文字列を数値で比較しても 大丈夫なのでしょうか? 自分の書いたところ見るとどっちのパターンでも書いてあって あやふやです。

  • Request.QueryString への値の代入。

    Request.QueryString("hoge") = Request.QueryString("hoge") + 1 上記のようなクエリーストリング自体に値を代入するためにはどうしたらよいですか? 上記のコードでは Microsoft VBScript 実行時エラー エラー '800a01b6' オブジェクトでサポートされていないプロパティまたはメソッドです。: 'Request.QueryString' となります。 ASP1.X+IIS5です。よろしくおねがいします。

  • Requestの取り方、どちらが好ましい?

    C♯、ASP.NETでの開発です。 string test = Request["hoge"].ToString() という取り方をしている箇所があり、これだとパラメータとしてhogeが なかった時に落ちるので string test = Request.QueryString["hoge"]; にしようと思っています。 (単純に、なければ空白としたい) 取り方は違いますが、結局のところ(値があれば)同じものが 来るのでこの対応で問題ないと思っているのですが、問題ありましたら ご指摘いただけないでしょうか。

  • Request.Querystringについて

    ASPについて教えてください。 基本的な質問です。プログラム初心者です。 プログラムを前の方へ辿っていっても、 以下のスクリプトでRequest.QueryStringする"YM"や"MOVE"が定義されているところが見当たりません。 環境変数?にもそのようなものは、無さそうなのですが。 この"YM"や"MOVE"はどのようなものと考えれば良いでしょうか? スクリプトなので上から順番に処理されていくと理解していたのですが、 そもそも間違いでしょうか? <% sYM = Request.QueryString("YM") If sYM = "" Then iYear = Year(Now()) iMonth = Month(Now()) Else iYear = Left(sYM,4) iMonth = Right(sYM,2) End If sMove = Request.QueryString("MOVE") If sMove <> "" Then If sMove = "Next" Then ix = 1 Else ix = -1 End If iTmp = DateSerial(iYear, iMonth + ix, 1) iYear = Year(iTmp) iMonth = Month(iTmp) End If iLastDay = Day(DateSerial(iYear, iMonth + 1, 1 - 1)) iDay = 1 - Weekday(DateSerial(iYear, iMonth, 1)) + 1 Response.Write "" Response.Write "" Response.Write "" sPrg = "calendar.asp?YM=" & iYear & Right("00" & iMonth, 2) Response.Write "" Response.Write "" Response.Write "" For x = 0 To 6 If x = 0 Then sCol = "#EECCCC" Else sCol = "#EEEEEE" End If Response.Write "" Next For y = 0 To 5 Response.Write"" For x = 0 To 6 If x = 0 Then sCol = "#FFCCCC" Else sCol = "WHITE" End If If Date() = DateSerial(iYear, iMonth, iDay) Then sCol = "#FFE6CC" fToday = True Else fToday = False End If If iDay > 0 Then Response.Write "" Else Response.Write "" End If iDay = iDay + 1 If iDay > iLastDay Then Exit For End If Next Response.Write "" If iDay > iLastDay Then Exit For End If Next Response.Write "

  • Request.QueryString

    Request.QueryStringのことで質問です。 下記を何度も選択しなおすと **.asp?kubun=東京&kubun=大阪&kubun=東京・・・ と増えていきます。 Request.QueryStringを入れてあるのは、Request("kubun")以外の中身を引いていきたいからで、Request("kubun")は除外したいのです。 何か簡単な方法はないでしょうか。 **.asp?user=1&lg=yes であったり **.asp?ken=1&part=3 であったりします その後に、kubunを選択しても user=1&lg=yesを保持し、かつ、kubunを何回も選択しなおしたい。Request.QueryStringの中身は毎回異なる。 <SCRIPT language=JavaScript> function Select( parts ){ var i,Msg; Msg = "" ; for (i = 0; i < parts.options.length; i++){ if ( parts.options[i].selected ) { Msg += parts.options[i].value ; } } n = Msg location.href = window.location.pathname + '?kubun=' + n + '&<%= Replace(Request.QueryString, chr(10), "<BR>") %>'; } </SCRIPT> <select name="sl" onChange="Select(this)"> <OPTION SELECTED>↓選択</OPTION> <OPTION value="東京">東京</OPTION> <OPTION value="大阪">大阪</OPTION> <OPTION value="京都">京都</OPTION> </SELECT>

  • ASPで画面間のパラメタ受け渡し

    こんばんは。ASP初心者です。 ASPでWEBページの作成を行っています。画面遷移をResponse.Redirect()で行っているのですが、遷移前のページと遷移後のページでパラメタを受け渡したい場合はSession("hoge") = "hogehoge"のようにセッションに入れる以外、何か方法はないでしょうか。リクエスト間でパラメタ渡せればがいいので、セッションを通じて保持しておく必要がないのです。クエリを使用するとアドレス欄に変数の値が見えてしまうのでできれば使いたくありません。

  • [ASP]条件によってインクルードしたいファイルを変えたい。

    こんばんわ。ASPにてWebページを作っております。 私はこれまで、何度もASPページ内に任意の.incファイルをIncludeして動的なWebページを作ってまいりました。 しかし、いままでは固定の.incファイルをIncludeしてきましたので下記のように、 <!-- #Include File="info.inc" --> 記述していました。 今回は・・・ sample.asp?ID=1 や sample.asp?ID=2 のようにURLに付加されて送信されてくる情報によってIncludeしたいファイルを変更しなければいけません・・・。 この場合はどのように記述してやればいいでしょうか? <% If Request("ID") = "1" Then %> <!-- #Include File="pageA.inc" --> <% ElseIf Request("ID") = "2" Then %> <!-- #Include File="pageB.inc" --> <% End If %> 単純に上のようなことでいいのでしょうか? お手数をお掛けしますが何卒宜しくお願いいたします。

  • データの受け渡し

    A.aspで入力されたFormデータをGETで送信し B.aspで内容を判断し、C.aspまたはD.aspにデータを受け渡す。 という事を行いたいと考えています。 B.aspのソースは下記の感じです。 If Request.QueryString("Add") = "C" THen Response.Redirect "C.asp" Else Response.Redirect "D.asp" End If C及びDへデータを受け渡すには、どのようにしたらよいでしょうか? また、今回GETを利用していますがPOSTを利用して同様な事は出来るのでしょうか? よろしくお願い致します。

  • 言語判別

    いつもお世話になっております。 早速ですが、Webページを開いたときに、各言語ごとに 開くページの飛び先を変更したいのです。 ASPを使って <% Dim lang lang=Request.ServerVariables("HTTP_ACCEPT_LANGUAGE") If inStr(lang,"ja")>0 then Response.Redirect("http://aaa.co.jp/") elseIf inStr(lang,"zh-tw")>0 then Response.Redirect("http://bbb.co.jp/") elseIf inStr(lang,"zh")>0 then Response.Redirect("http://ccc.co.jp/") else Response.Redirect("http://top/co.jp/") end if %> のようにして一応は出来たのですが、これをSelect文で実現できますでしょうか? また、一般的にこのような手法は正しいですか? 宜しくお願いします。

  • IFRAME内のフォームをRequestしたい

    こんばんわ。 ASPで簡単なウェブページを作っています。 あるアンケートフォームがあるHTML(親ページとします)があります、その中に一部IFRAMEでこれまた別の設問が書かれたHTML(子ページとします)が表示されているとします。 親ページのSUBMITで内容をメール送信するASPにデータを送信するとしてテストしてみますとIFRAME内の内容がRequestなどで呼べませんでした。 こういう場合、どうにかしてASPファイルにてIFRAME内の情報をRequestできる方法はないでしょうか? お手数をお掛けいたしますが宜しくお願い申し上げます。

専門家に質問してみよう