2022年4月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
無料ブログはココログ

ASP

IE6 詳細なエラーを表示するには

Ie6option











「HTTPエラーメッセージを簡易表示する」
のチェックをはずします。

ASPなどのデバッグをするときに便利です。

ASP ASP開発でVWD2005を使用してみる

Microsoftから発表されたフリーのWeb開発ソフト「Visual Web Developer 2005 Express Edition 」(VWD2005)の正式版がリリースされたのでASP開発に使ってみました。
http://www.microsoft.com/japan/msdn/vstudio/express/vwd/

VisualInterDev 6.0と比較
・メリット
画面のデザインをGUIでできる確率が多少上がってる。(InterDevはほとんどできない)
エディタの変数や定数の色が変わっているから見やすい
インテリセンスはあまり表示されないけど、使える

・デメリット
ASPだと「Web.configファイルが無効なため・・・」と出て標準だとデバッグができないっぽい。(あまり深く追求していません。)

ASP ASPからAJAXを使う

AJAXを使うと画面遷移(ポストバック)することなく動的にデータ表示したりできます。
郵便番号が入力されたら該当する住所を初期表示するときに今までは画面がPOSTやGETなどで一旦画面が切り替えざる得ませんでした。
AJAXを使えば、画面はそのままで住所を表示することが可能です。

メイン.aspのJavascript
//郵便番号を呼び出す関数(getaddress.aspを呼んでいます)
function GetAddress(y)
{
var url = encodeURI("getaddress.asp?yubin=" + y);
req = getXMLHttpRequest();
req.onreadystatechange = GetAddressCallBack;
req.open("GET", url, true);
req.send();
return true;
}

// XMLの要素を返す
function GetAddressCallBack()
{
if (req.readyState == 4) {
  if (req.status == 200) {
   try {
    var response = req.responseXML.documentElement;
    var rc = response.getElementsByTagName("address")[0].firstChild.data;
    if (rc != null) {
     document.getElementById("address").value = rc;
    }
   } catch (e) {
   
   }
  }
}
}

// XMLからのリクエストを返す
function getXMLHttpRequest() {
var x = null;
if (typeof XMLHttpRequest != "undefined") {
  x = new XMLHttpRequest();
} else {
  try {
   x = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try {
    x = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (e) {
   }
  }
}
return x;
}

・getaddress.asp
ここでXMLデータをメイン.aspに返しています
<%@ Language=VBScript %>
<%

if Request.QueryString("yubin") <> "" then
  Dim strAddress
 
  strAddress = "てすと!"
 
  'XML出力
  Response.ContentType = "text/xml"
  Response.write("<?xml version=""1.0"" encoding=""Shift_JIS"" standalone=""yes""?>")
  Response.write("<POST_DATA>")
  Response.write("<address>" & strAddress & "</address>")
  Response.write("</POST_DATA>")
end if

%>

ASP 特定画面のみタイムアウトを発生させない方法

WWWブラウザに次のタグを含むHTMLを送り,定期的にリロードさせることでタイムアウトを防ぎます。

<meta http-equev="refresh" content="60">
60 秒おきにリロードさせるように指定しています。

ASP 検索処理などで検索画面が表示されるまで検索中画面を表示するには

「検索中」と書いたプレーンHTMLからMETAタグでASPに飛ばします。
ファイルが2つになるのが嫌ならQueryString使います。

test.asp にアクセス

<META>タグですぐに test.asp?search にリダイレクト

サーバ内で処理している間はページ遷移が起きないため test.asp に書かれている「検索中」が表示されたまま

サーバ内で処理が終わると、ブラウザに test.asp?search の内容が送られる

(例)
<%
  if (Request.QueryString().Item()!="search") {
%>
<html lang="ja">
<head><meta http-equiv="Refresh" content="0;URL=test.asp?search"></head>
<body>検索中...</body>
</html>
<%
  } else {
%>
<html lang="ja">
<head>
....

ASPのバッファのフラッシュを使用すれば同様の処理が簡単にできるらしいのですが、どうもうまくいきません。