日 | 月 | 火 | 水 | 木 | 金 | 土 |
---|---|---|---|---|---|---|
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 |
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ファイルが無効なため・・・」と出て標準だとデバッグができないっぽい。(あまり深く追求していません。)
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
%>
WWWブラウザに次のタグを含むHTMLを送り,定期的にリロードさせることでタイムアウトを防ぎます。
<meta http-equev="refresh" content="60">
60 秒おきにリロードさせるように指定しています。
「検索中」と書いたプレーン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のバッファのフラッシュを使用すれば同様の処理が簡単にできるらしいのですが、どうもうまくいきません。
Access Android ASP ASP.NET2.0 C# Cordova CrystalReports CVS eclipse Excel IIS Java Javascript Linux NintendoDS Office Oracle pcAnywhere PHP postgresql Ruby On Rails SQL SQL-Server TeamFoundationServer VB.NET VB6 Visual SourceSafe Visual Studio 2010 Visual Studio 6 Visual Studio2002 VisualStudio2005 VisualStudio2017 VisutalStudio2012 Windows おすすめサイト ネットワーク パソコン・インターネット 日記・コラム・つぶやき 書籍 自作PC 駄文
最近のコメント