>>Home>>技術交流  
 
--2001.05.19-- Webシステムの画面間のパラメーターの受け渡し方法
 

説明:Web上で画面から画面へ、パラメーターを送る方法は四つあります。以下はIISのaspのサンプルです。
 
方法1:QueryStringを使ってパラメーターを送る
   [例]  

    ・VB Scriptの場合:
     送る側は  
       Response.Redirect "../error.asp?MessageID=COMC099E&[パラメーター名1]={値}&[パラメーター名2]={値}..."
     ように書く。

     受ける側は
       sMessageID = Request.QueryString("MessageID")
       [変数1] = Request.QueryString("パラメーター名1")
       ... ...
       [変数n] = Request.QueryString("パラメーター名n")
     ように書く。

方法2:Formを使ってパラメーターを送る
   [例]
     HTMLソースが下記のような場合、
     <FORM action="./logincheck.asp" method=post name=frm_login>
     <table border=0 cellspacing="1" width=90% align=center>
     <tr><td height=30 colspan=3>&nbsp;</td></tr>
     <tr><td height=40 width=20% align=middle>ユーザーID</td>
     <td width=30%><INPUT type="text" name=pass_userID ></td>
     <td width=50%><INPUT type=submit value=" Login " id=btn_login
       class="btnStyle" onclick="return sub_login_click()"></td>
     </tr>
     <tr><td height=40 align=middle>パスワード</td>
     <td><INPUT type="password" name=pass_password></td>
     <td width=50% align=center><INPUT type=button value=" Cancel " id=btn_login
       class="btnStyle" onclick="javascript:history.back()">
     <td>&nbsp;</td></tr>
     </table>
     <input type=hidden name=hid_BackStr value="<%=sBackStr%>">
     <input type=hidden name=hid_BackType value="<%=sBackType%>">

     </FORM>

     <Form>...</Form>で囲まれているINPUTタグの値がsubmitボタンの処理によって次の画面(logincheck.asp)
     に転送される。

     受ける側(logincheck.asp)は
       sUserID = Request.Form( "pass_userID")   'pass_userIDはINPUTタグの名
       sPassword = Request.Form("pass_password")
       sBackStr = Request.Form("hid_BackStr")
       sBackType = Request.Form("hid_BackType ")
     ように書く。

方法3:Cokiesを使ってパラメーターを送る
   [例]  
       
    ・VB Scriptの場合:
     送る側は  
      Response.Cookies(cookie名)[(key)|.attribute] = value または オブジェクト '配列を使う場合は[(key)|.attribute]を指定する
     ように書く。

     受ける側は
       変数=Request.Cookies(cookie名)[(key)|.attribute]  '配列を使う場合は[(key)|.attribute]を指定する
     ように書く。          

方法4:Sessionを使ってパラメーターを送る

   [例]  

    ・VB Scriptの場合:
     送る側は  
       Session(session名)[(key)|.attribute] = value または オブジェクト  '配列を使う場合は[(key)|.attribute]を指定する
     ように書く。

     受ける側は
      変数=Session(session名)[(key)|.attribute]  '配列を使う場合は[(key)|.attribute]を指定する
     ように書く。 

付録:global.asaに Session_OnEndとSession_OnStartイベントの処理を書くことによってWEBシステムのアプリケーションに必要な初期
   処理が便利になります。以下はglobal.asaの例文です。

   global.asaファイル内容:

   <SCRIPT LANGUAGE=VBScript RUNAT=Server>
   SUB Session_OnStart
   'on error resume next

   Session.Timeout = 120 'WEBページのtimeout時間を設定する
   Session("UserID") = "" 'ログイン情報をクリアする
   ・・・ ・・・
   END SUB
   </SCRIPT>

   <SCRIPT LANGUAGE=VBScript RUNAT=Server>
   SUB Session_OnEnd
   'on error resume next

    Session("UserID") = ""  'ログイン情報をクリアする
   END SUB
   </SCRIPT>

   Session_OnStartイベントの起動タイミング
   Session_OnStartはWEBサーバーが新しいsessionを作成する時に起きます。(sessionオブジェクトはWEBサーバーが自動的に
   作成してくれます。)

   Session_OnEndイベントの起動タイミング 
   Session_OnEndはsessionが中止(abandoned)または times outされたときに起きます。

   Syntax
   <SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server>
   Sub Session_OnStart または Session_OnEnd
   . . .
   End Sub
   </SCRIPT>

 
 
 
 
 
Copyrights(C) 1996 - 2015 KIN CO.,LTD ,ALL Rights Reserved