• ベストアンサー

Request.QueryString への値の代入。

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

質問者が選んだベストアンサー

  • ベストアンサー
  • hakugen
  • ベストアンサー率36% (8/22)
回答No.1

こんにちは。 RequestオブジェクトはブラウザからのHTTPリクエストの値を保持して提供するためのものですので、値を代入することはできないです。 Request.QueryStringに関しては 「スクリプト名?hoge=XXX」 のように「?」の後ろの値を”取得”することに使うのみです。 ですので、Request.QueryStringで取得した値を別の変数に一度格納してから+1をしてあげれば問題ないです。

関連するQ&A

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

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

  • empty($_SERVER['REQUEST_U

    empty($_SERVER['REQUEST_URI'])とは、何のことでしょうか? 下記スクリプトの意味について教えてください。 // // Fix unavailable $_SERVER['REQUEST_URI'] on IIS // if ( empty($_SERVER['REQUEST_URI']) ) {  $_SERVER['REQUEST_URI'] = $_SERVER['PHP_SELF'];  $_SERVER['REQUEST_URI'] .= ( !empty($_SERVER['QUERY_STRING']) ) ? '?'.$_SERVER['QUERY_STRING'] : ''; } ▼if ( empty($_SERVER['REQUEST_URI']) ) { $_SERVER['REQUEST_URI']が空だったら、の意味が分かりません。 ページにアクセスするためのURIを指定しなかったら? それは、どんな状況なのでしょうか? ▼$_SERVER['REQUEST_URI'] = $_SERVER['PHP_SELF']; $_SERVER['REQUEST_URI']に、現在実行しているスクリプトのファイル名を利用。これは、何をしているのでしょうか? ▼$_SERVER['REQUEST_URI'] .= ( !empty($_SERVER['QUERY_STRING']) ) ? '?'.$_SERVER['QUERY_STRING'] : ''; クエリ情報(URLの"?"以降の文字列)が空でなければ、クエリ情報をくっつける。空だったら、くっつけない 結局、このスクリプトでは何をしようとしているのでしょうか? また、このスクリプトがないと、どういう不具合が起きる可能性があると、想定されるでしょうか? 検索してみたら、下記のようなページがあったのですが、 IIS(サーバ?)固有の不具合回避対策なのでしょうか? ▽Dokeos Forum • View topic - IIS $_SERVER['REQUEST_URI']   http://www.dokeos.com/forum/viewtopic.php?t=8335

    • ベストアンサー
    • PHP
  • サブフォームに変数を代入し、RecordSourceの値を取得したい

    サブフォームに変数を代入し、RecordSourceの値を取得したいのですがうまくいきません。 Sub test1() Dim サブフォーム As String Dim フォーム As String フォーム= "土台" サブフォーム = "フォーム1" MsgBox Form_フォーム1.RecordSource End Sub ******************************************************************* Sub test2() Dim サブフォーム As String Dim フォーム As String フォーム= "土台" サブフォーム = "フォーム1" MsgBox Form_フォーム1.RecordSource MsgBox Forms(フォーム).Controls(サブフォーム).RecordSource End Sub オブジェクトは、このプロパティまたはメソッドをサポートしていません。(Error 438) ******************************************************************* Sub test3() Dim サブフォーム As String Dim フォーム As String フォーム = "土台" サブフォーム = "フォーム1" MsgBox Forms(サブフォーム).RecordSource End Sub 実行時エラー'2450' マクロの式またはVisual Basic コート゛で参照されている 'フォーム名'フォームが見つかりません。 ******************************************************************* test1~3のうち test1のみはうまくいくのですが 変数を代入したいです。 ヘルフ゜のには Forms![受注]![受注サブフォーム].Formとなってますが これじゃ変数を代入できないですよね。 どうすればサブフォームに変数を代入しつつ、RecordSourceの値を取得できるのでしょうか? よろしくお願いします。

  • 括弧に対して代入している文

    前後がどうなっているのかわからないのですが、javascriptでこういう文を見つけました。 abc.xyz(2) = 5; これはどういう意味が考えられるでしょうか。 abcオブジェクトのxyzプロパティだと思いますが、何に対して代入しているのかよくわかりません。 通常括弧は関数やメソッドの呼び出しだと思いますが、返り値が代入できるようなものなんでしょうか。 (念のため[2]ではありません)

  • Headリクエスト、ディズパッチャについて

    以下、あるソフトウェアで、このような条件のときに不具合が出るという内容なのですが、理解できないのです。 wwwブラウザ等から、Http Headリクエストを送り、サーブレットが受けます。 リクエストオブジェクトをレスポンスオブジェクトをコンテナが生成します。 それを通じて、HttpServlet実装のdoHeadが呼び出され、その後、オーバーライドされたdoGetメソッドにリクエストオブジェクトとレスポンスオブジェクトが渡され(ここが疑問、doHeadをオーバーライドせずにこんなことができるのか?doHeadから明示的にdoGetを呼べばできそうだが、doHeadをオーバーライドしている場合は除くのだそうです) その渡されたリクエストオブジェクトとレスポンスオブジェクトをRequestDispatcherのfowardメソッドでディスパッチしようとするとレスポンスオブジェクトをHttpServletResponseFacadeにキャストしようとするのだが、実際にはNoBodyResponseである為キャストに失敗。java.lang.ClassCastExceptionが出る。 (1)HEADリクエストが出来ない HttpURLConnection.setRequestMethod("HEAD"); のようにしてURLに送ってみたのですが、 「ドキュメントにデータが含まれていません」 というエラーが出てしまいました。 htmlから<form name="form" method="head" action="URL">のようにした所、「Getメソッドが無いのにGetメソッドが呼ばれている」というエラーになってしまいました。 (2)doHeadを通過してdoGetに行くという図で示されているのですが、どういうことかわからないです。どうやって実現するのか? 何か思いつくことがあったら教えていただけると助かります。

    • ベストアンサー
    • Java
  • 擬似コントロール配列への代入

    お世話になります Dim i As Integer For i = 1 To 3   Sheets("Sheet1").OLEObjects("コンボ" & i).Value = i Next http://oshiete1.goo.ne.jp/kotaeru.php3?q=2372410 上記を参考の上で擬似コントロール配列への代入式を書いたのですが 「オブジェクトは、このプロパティまたはメソッドをサポートしていません」とエラーになってしまいます もちろん対象のコンボボックスのソースには代入される値は用意されています。 よろしくお願いします

  • pagecountコンポーネントについて

    IISの追加コンポーネントであるPageCounterコンポーネントついて教えてください。 <環境> WINDOWS NT 4.0      IIS 4.0 <内容>IISリソースキットより、Pagecnt.Dllをregsvr32.exeにてレジストリに登録。(正常終了確認) 再起動後、ASPファイルを実行するが、オブジェクトが作成できない。ほかに何か設定しなければいけないのでしょうか?助けてください。 <ASPソースのエラー部> <% set pgcnt = Server.CreateObject("IISSample.PageCounter") pgcnt.pagehit %> <ERRMSG> Microsoft VBScript 実行時エラー エラー '800a01ad' ActiveX コンポーネントはオブジェクトを作成できません。 .asp, 行 10

  • ASP + MDBで発生したエラーが解決できません。。。

    こんにちは。 いま、ローカルPCでシステム開発をしています。 環境としては、  WindowsXP + IIS + ASP + MDB(ACCESS2003) です。 いま、MDBにDB接続して、データを取得しようとしているのですが、以下のエラーが発生していて、治りません。 【エラータイプ】 Microsoft VBScript 実行時エラー (0x800A01B6) オブジェクトでサポートされていないプロパティまたはメソッドです。:Open ソースコードは以下の通りです。 【ソース】 'コネクションオブジェクト Set objCon = Server.CreateObject("ADODB.Connection") objCon.Provider = "Microsoft.Jet.OLEDB.4.0" objCon.ConnectionString = "C:\test.mdb" objCon.Open 'レコードセットオブジェクト objRs = Server.CreateObject("ADODB.Recordset") objRs.Open strSQL, objCon, 3 上記のobjRs.Open→Set objRs = objCon.Executeに変更するとエラーは発生しないのですが、RecordCountなどのプロパティが利用できません。 色々と調査したのですが、全くわかりません。 どなたか情報をご存知でしたら、ぜひともご教示ください。 宜しくお願いします。

  • 入力フォームの値をSQLのクエリに代入したい

    「1.htm」で入力された値を、次のページ「2.asp」で受け取って、 SQLに代入したいと考えています。 が、うまくいきません。 結果としては、クエリの結果がなく、 データが何も表示されない状態です。 どなたか宜しくお願いします。 ****1.htm**** <form method="POST" action="2.asp"> <input name="simei" type="text"> <input type="submit" value="検索"> </form> ****2.asp**** i = "Request.Form("simei")" Set rs = db.Execute("SELECT * FROM test WHERE ((test.氏名)='i')")

  • ASPへのデータの受け渡しについて

    以下のようなリンクが自動生成されるHTMLをつくりました。 http://**********/****/zzz.asp?A=5,B=nande zzz.aspの内部で A=request.querystring("A") B=request.querystring("B") と記述して、受け渡しを完了しているのですが、 Aについては数値として扱いたいのですが、 チェックをしていると、どうも文字列として変数の中に格納されているようです。 ここで質問です。 (1)requestオブジェクトを使って値の受け渡しをした場合 すべて受け渡し後は文字列としてしか扱えないのでしょうか? (2)文字列としてしか扱えない場合、数値として受け渡し後に 扱いたい場合の対処方法はあるのでしょうか? ちなみに受け渡しの時のMethodはGetを使っています。 よろしくお願いします。