1 名前:nobodyさん mailto:sage [2005/07/03(日) 12:27:28 ID:???] レガシASPについて語るスレです。質問や雑談もOK。 何より手軽なので社内イントラであればまだまだ第一線です。 ASP.net については専用スレッドでお願いします。 関連スレ: 【質問】ASP.NETスレ Part2【議論】 pc8.2ch.net/test/read.cgi/php/1111480331/ 過去スレ: ==ASP== Part 3 pc8.2ch.net/test/read.cgi/php/1059401269/ ==ASP== Part 2 pc2.2ch.net/php/kako/1028/10280/1028024916.html ==ASP== pc.2ch.net/php/kako/984/984840107.html
398 名前:nobodyさん mailto:sage [2006/02/25(土) 10:43:55 ID:???] >>396 a(m,n) → b[m][n] <script> <% Response.Write("var b=new Array("&(UBound(a,1)+1)&");") For i=LBound(a,1) to UBound(a,1) Response.Write("b["&i&"]=new Array("&UBound(a,2)+1&");") For j=LBound(a,2) to UBound(a,2) Response.Write("b["&i&"]["&j&"]="&a(i,j)&";") Next Next %> </script>
399 名前:396 [2006/03/01(水) 05:59:02 ID:/i7BGAMo] >>398 JavaScript関数内でa(m,n)が使用できないのですが...
400 名前:nobodyさん [2006/03/01(水) 11:35:16 ID:e/ZVjBAD] getFolderメソッドであるフォルダのファイル名を全部取得します。 ファイル名には規則性があり、数値で1から連番です。 For Each objwk in objFOL.Files 'ファイル名を配列に入れる ReDim Preserve arrAllFileName(i) arrAllFileName(i) = ( objWK.Name ) i = i + 1 Next として取得していますが、 1 2 3 6 7 22 27 と取得できるはずなのに、 配列の要素は 1 2 22 27 3 6 7 となり、 BASP21のSortメソッドを使ってものの順番は変わりません。 ファイル作成時間によってソートされているのではないかと 試してみましたが違うようです。 大変恐縮ですが、ソートする方法をご教授いただけませんでしょうか。 何卒よろしくお願いいたします。」
401 名前:400 [2006/03/01(水) 11:46:02 ID:e/ZVjBAD] 追記;要素を入れるときに要素にCIntしても結果は変わりませんでした。
402 名前:400 [2006/03/01(水) 12:20:50 ID:e/ZVjBAD] すいません。自己解決しました。 数値型がだめなら、文字型だろ! と決まった桁数に0を補完するようにしました。 例) 1 → 0001 11 →0011
403 名前:nobodyさん mailto:sage [2006/03/01(水) 18:51:48 ID:???] もともと >>1 2 3 6 7 22 27 と取得できるはずなのに、 ここだよね XP以降のExplorerならば確かに初期状態だとそうなるけど ファイル名って文字列だからね。 ソートすると >>1 2 22 27 3 6 7 となり、 で正しいわけだよ
404 名前:nobodyさん mailto:sage [2006/03/02(木) 22:33:46 ID:???] >>399 サーバーサイドのa(m,n)の値ををクライアントサイドのjavascriptのb[m][n]に引き渡してる
405 名前:nobodyさん mailto:sage [2006/03/03(金) 13:53:37 ID:???] 一応過去ログも見てみたのですが、見当たらなかったので質問させてください。 ASP(VBScript)@IIS5.1、OSは2000ServerとXPです。 単純にデーターベース(ADO OBDC)からデータを読み出してResponse.Writeで表示させているだけなのですが メモ型のフィールドに入力した値がうまく表示できないのです。 入力されているデータ(mdb)を直接Acessで編集してフィールドの方をテキスト型に変更するとうまく表示されます ASPの方でdbから読み出した値がNULLか空かそれ以外かを先に判定させて、 "それ以外"の場合のみ Response.Write [dbの値] & "<br>" と書き出すようにしているのですが。いざ実行すると <br> としか出力されない状況です。 通常なら表示されて当たり前じゃないかと思うのですが、どこかIIS等の設定がおかしくなっているのでしょうか?
406 名前:nobodyさん mailto:sage [2006/03/03(金) 23:00:10 ID:???] >>405 NULLだったらどう動くようにしてるの?
407 名前:nobodyさん mailto:sage [2006/03/04(土) 00:17:11 ID:???] >>405 つ【vbCrLf】
408 名前:405 mailto:sage [2006/03/06(月) 10:13:00 ID:???] >>406 if文で分岐させているのですが、NULL値の場合は Response.Write "NULL値です" と表示するようにしています。 >>405 <br>の代わりにvbCrLfを使えばいいということですか? お二方レスしていただいたのですが、実はついさっき自己解決してしまいました。 dbの値を直接If文の判定式に書いたり、Response.Writeで直接使用していたのが問題のようでした。 一度他の適当な変数を作成してそれに代入してから使用すると、正常に判定と出力をすることができました。 お騒がせしてすみません^^;
409 名前:nobodyさん mailto:sage [2006/03/06(月) 23:03:11 ID:???] まさかとは思うが If なんとかかんとか = Null Then とかやってないよな。
410 名前:405 mailto:sage [2006/03/22(水) 17:47:30 ID:???] >>409 亀レスだけど If IsNull(変数) Then または If Not IsNull(変数) Then ってやってた
411 名前:nobodyさん [2006/03/26(日) 07:43:17 ID:/latXqRh] 質問です。 メールフォームの送信を.aspでやるときに、送信者側のファイル添付は可能でしょうか? mailer.addattachmentメソッドがあるようなんですが、そのまま使ってもファイルは添付されずに、送信者のローカルPCのファイルへのパスが送られてくるだけなんですけど。 これってもしかして、一旦uploadscript.aspなんかでサーバーへアップロード保存して、サーバー側に保存されたファイルを添付させるという、2段階手続きじゃないとムリなんですか? その場合、送信するメールフォームと対になるサーバー側の画像ファイルとの関連づけはどのようにするのか悩んでるんですが、何かアドバイス有りましたらよろしくお願いします。
412 名前:nobodyさん mailto:sage [2006/03/26(日) 12:38:36 ID:???] >>411 mailer.addattachment ってなんてあったっけ?
413 名前:nobodyさん mailto:sage [2006/03/26(日) 15:08:37 ID:???] ServerObjects社製のコンポーネントみたいね ttp://www.serverobjects.com/comp/Aspmail4.htm このあたりのExampleとか見るとサーバー側にあるファイルを添付するメソッドじゃないかと思う ttp://www.bizclasshosting.com/faq/webhostingplans/CGI_Scripts_and_Programming/567-aspmail_methods.htm BASP21あれば要らないよーな
414 名前:nobodyさん [2006/03/26(日) 17:42:32 ID:/latXqRh] >>413 おっしゃるとおり、サーバー側にあるファイルを添付するメソッドなので、サーバーに添付されるファイルをアップロードした後、添付送信という手続きをふまなければならないみたいです。 ただ、一つのメール送信フォームに、この手続きをどうやって組み込むのか四苦八苦してます。 具体的には、ファイルのアップロードは、 BFORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="uploadscript.asp"> で、処理側の.aspコマンドファイルはSet Uploadというメソッドでサーバー上の任意のフォルダへアップロード、 そして、メールフォームの送信は、 <form action="aspmailform.asp" method="post"> で、処理側.aspには、 Set Mailer = Server.CreateObject("SMTPsvg.Mailer") というコマンドでメール送信という状態なのですが、これらを一つの送信ボタンで出来ないものか悩んでいます。 上記の、aspmailform.aspとuploadscript.aspを一つにして併記してみても機能しないようです(多分、やり方が悪いのかも?) さらに、addattachmentメソッドはサーバー側のフルパスで指定しなければならないので、送信者のローカルPCのファイルパスを拾って関連づけるのも不可能なような気がするのですが。 というかんじで、困っています。 ASP21というのは、どのような環境で動作可能なのかもう一つ理解していないんですが。 SendMailではなく、ASPMailしかインストールされていないサーバー環境でも動作可能なのでしょうか? もし可能であれば使ってみようと思います。
415 名前:nobodyさん [2006/03/26(日) 17:45:46 ID:/latXqRh] 上記訂正、 BFORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="uploadscript.asp"> ↓ <FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="uploadscript.asp"> です、すみません。
416 名前:nobodyさん mailto:sage [2006/03/26(日) 21:54:41 ID:???] SMTPsvg.Mailerは使ったことないからわからないけどBASP21使うとこんなかんじ チェックしてないんでバグあるかもしれんけど ------------送信側 <html><body> <form action="fileuptomail.asp" enctype="multipart/form-data" method="post"> From: <input type="text" name="mailFrom"><br> To: <input type="text" name="mailTo"><br> Subject:<input type="text" name="mailSubj"><br> Body: <textarea cols="40" rows="10" name="mailBody"></textarea><br> File:<input type="file" name="file"><br> <input type=SUBMIT name=UPLOAD> </form></body></html> ------------受信側(fileuptomail.asp) <% Set bobj=Server.CreateObject("BASP21") TEMP=Server.MapPath("/temp/")&"\tempfile.tmp"' 一時保存ファイル SMTPname="*.*.*.*"' SMTPサーバーのIP ' FileSave a=Request.TotalBytes b=Request.BinaryRead(a) f=bobj.FormFileName(b,"file") fsize=bobj.FormFileSize(b,"file") filename=Mid(f,InStrRev(f,"\")+1) l=bobj.FormSaveAs(b,"file",TEMP) ' Mail msg = bobj.SendMail(SMTPname,bobj.Form(b,"mailTo"),bobj.Form(b,"mailFrom"),bobj.Form(b,"mailSubj"),bobj.Form(b,"mailBody"),TEMP&"|"&filename) %>
417 名前:nobodyさん mailto:sage [2006/03/28(火) 11:21:21 ID:???] とりあえずaspのシステム作るなら、basp21は突っ込んどくオイラ。 なんだかんだで、永い間使ってて安心して使える。
418 名前:nobodyさん mailto:sage [2006/03/28(火) 13:00:23 ID:???] WinCEでの開発なんで自力でbasp21っぽいの作ってるオイラ バグだらけで不安になりながら使ってる
419 名前:nobodyさん [2006/04/10(月) 20:06:46 ID:3UIEjnKE] 下記ソースは5年ぐらい前に作ったんですが、またこれが必要になったので バックアップから引っ張り出してIISに貼り付けましたが動きませんでした。 以前は動いたのに。 現在の動作は、VBS中にExlを書いてもスルーされて 次のプログラムに行ってしまいます。 どこを直せば動くようになるんでしょうか。 よろしくお願いします。 テスト環境はWinXPproです。 セキュリティパッチは全て当ててます。 動くようになれば2003鯖に実装予定です。 Sub Exl Dim ExcelApp, ExlFile Set ExcelApp = CreateObject("Excel.Application") ExcelApp.visible = True ExlFile="D:/asp/files/temp.xls" ExcelApp.DisplayAlerts = False ExcelApp.Workbooks.open(ExlFile) ExcelApp.Sheets("page1").Select ExcelApp.ActiveSheet.Range("A1").value="<%= Year(Now()) %>" & " 年 " ExcelApp.ActiveSheet.PrintPreview Excelapp.Quit Set ExcelApp = Nothing End Sub
420 名前:nobodyさん mailto:sage [2006/04/10(月) 20:48:18 ID:???] これ、ASPで動かすんなら全体が<% %>で囲まれるから ExcelApp.ActiveSheet.Range("A1").value="<%= Year(Now()) %>" & " 年 " はおかしいと思うんだが
421 名前:70 [2006/04/10(月) 21:57:23 ID:w8+tUl+V] >>420 すみません、一部記述が抜けてました subとend subだけが<% %>で囲ってこんな感じです。 <% Sub Exl %> Dim ExcelApp, ExlFile Set ExcelApp = CreateObject("Excel.Application") ExcelApp.visible = True ExlFile="D:/asp/files/temp.xls" ExcelApp.DisplayAlerts = False ExcelApp.Workbooks.open(ExlFile) ExcelApp.Sheets("page1").Select ExcelApp.ActiveSheet.Range("A1").value="<%= Year(Now()) %>" & " 年 " ExcelApp.ActiveSheet.PrintPreview Excelapp.Quit Set ExcelApp = Nothing <% End Sub %>
422 名前:nobodyさん mailto:sage [2006/04/10(月) 22:24:01 ID:???] >>421 IE上でExcelのCOMを動かそうとしてる??
423 名前:421 [2006/04/10(月) 22:28:02 ID:3UIEjnKE] >>422 はい、そうです この方法はよくないんでしょうか?
424 名前:nobodyさん mailto:sage [2006/04/10(月) 22:37:16 ID:???] >>423 今のIEじゃローカル上のファイルを操作するのは セキュリティ的に無理だと思う
425 名前:422 [2006/04/10(月) 22:49:35 ID:w8+tUl+V] >>424 では、サーバー側に一時的なファイルを作成してそれをクライアント側で ダウンロードする仕組みにするには、どの様なコードを書けばよいでしょうか。 サンプルコードがあるサイトをご存知でしたら教えてください。 お願いします。
426 名前:nobodyさん mailto:sage [2006/04/10(月) 23:13:55 ID:???] 自分のPCにExcel入ってないから試せないんだがこんな感じかなぁ <% Sub Exl Dim ExcelApp, ExlFile, Filename, bobj ,b Set ExcelApp = Server.CreateObject("Excel.Application") ExcelApp.visible = True ExlFile="D:/asp/files/temp.xls" Filename="temp.xls" ExcelApp.DisplayAlerts = False ExcelApp.Workbooks.open(ExlFile) ExcelApp.Sheets("page1").Select ExcelApp.ActiveSheet.Range("A1").value= Year(Now()) & " 年 " ExcelApp.ActiveSheet.PrintPreview Excelapp.Quit Set ExcelApp = Nothing Response.ContentType = "application/octet-stream;name=" & Filename Response.AddHeader "Content-Disposition","attachment;filename=" & Filename Set bobj = Server.CreateObject("BASP21") b = bobj.BinaryRead(ExlFile) Set bobj = Nothing Response.AddHeader "Content-Length", ubound(b) + 1 Response.BinaryWrite bydata End Sub %>
427 名前:nobodyさん mailto:sage [2006/04/10(月) 23:15:06 ID:???] あ、ごめん × Response.BinaryWrite bydata ○ Response.BinaryWrite b
428 名前:425 [2006/04/10(月) 23:17:23 ID:3UIEjnKE] >>426 ありがとうございます。 明日試してみます
429 名前:nobodyさん mailto:sage [2006/04/11(火) 01:16:54 ID:???] 鯖側でExcelオートメーションは非推奨 support.microsoft.com/kb/257757/ja/ やるならこっちかな support.microsoft.com/default.aspx?scid=kb;ja;199841 support.microsoft.com/default.aspx?scid=kb;ja;271572
430 名前:425 [2006/04/11(火) 07:27:09 ID:j7JR4Ohz] >>429 目的の動作が出来ました、ありがとうございました。
431 名前:nobodyさん [2006/04/14(金) 21:34:06 ID:D01n0ua1] XPproで動いてたASPを2003鯖に入れたらページが見つかりません とかなって表示できません。 XPで動いてたんでスクリプトには問題ないと思うんですが IISの問題でしょうか? どこを直せばよいでしょうか?
432 名前:nobodyさん [2006/04/14(金) 21:47:20 ID:D01n0ua1] ためしに自分で作った仮想ディレクトリーにdefault.aspを 配置しましたが、Directory Listing Deniedとかなって表示できません。どうすればよいでようか? 助けてください。
433 名前:nobodyさん mailto:sage [2006/04/14(金) 22:36:40 ID:???] >>432 既定のドキュメント
434 名前:432 [2006/04/14(金) 22:58:23 ID:D01n0ua1] WebサービスでASPを許可したらいけました」
435 名前:nobodyさん [2006/04/15(土) 10:40:23 ID:GTWKBHgT] Fname="D:/asp/DB.mdb" DBF="Driver={Microsoft Access Driver (*.mdb)};User ID=;Password=12345; DBQ=" & Fname Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open DBF 上記コードでXPproのIISでは正常に動きますが、2003鯖ではこんなエラーになってしまいます。 Microsoft OLE DB Provider for ODBC Drivers エラー '80004005' [Microsoft][ODBC Microsoft Access Driver]一般エラー レジストリ キー 'Temporary (volatile) Jet DSN for process 0x9ac Thread 0xad0 DBC 0x22a1f94 Jet' を開くことができません。 レジストリをいじらずに動くようにするにはどうすればよいでしょうか? また、システムにODBCデータソースを追加する以外の方法で別のやり方あったら教えてください。
436 名前:nobodyさん mailto:sage [2006/04/15(土) 11:05:26 ID:???] >>435 Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver]一般エラー レジストリ キー 'Temporary (volatile) Jet DSN for process 0xe9c Thread 0xa74 DBC 0x2bc0b4 Jet' を開くことができません。 Accessにパスワードが設定されている場合に発生します。
437 名前:nobodyさん mailto:sage [2006/04/15(土) 11:10:18 ID:???] >>435 今時mdbでそんな方法で接続してる奴いねよ Microsoft.Jet.OLEDB.4.0 で接続しろよ
438 名前:435 [2006/04/15(土) 11:21:55 ID:GTWKBHgT] >>436 パスワードを解除したらできました。 ありがとうございます。
439 名前:435 [2006/04/15(土) 11:28:34 ID:GTWKBHgT] >>437 ああ、古いASP引っ張り出したんであれだったけど これに直しました。 DBF = "Provider=Microsoft.Jet.OLEDB.4.0; " & _ "User ID=;Password=;Data Source=" & Fname
440 名前:nobodyさん mailto:sage [2006/04/15(土) 21:22:35 ID:???] >438 まぁパスワード解除しちゃったそうだから今更だけど パスワード付きmdbをJet OLEDB使って開くときは、 ConnectionString/Passwordプロパティにパスワード入れるんじゃなくて Connection.Properties("Jet OLEDB:Database Password")に突っ込むこと。
441 名前:435 [2006/04/16(日) 13:54:35 ID:eJrc5hWb] Fname="D:\asp/DB.mdb" DBFile= "Provider=Microsoft.Jet.OLEDB.4.0;User ID=;Password=;Data Source=" & Fname Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open DBFile Set RS = server.CreateObject("adodb.recordset") RS.Open "SELECT * FROM main WHERE id=" & request("id") & " and pass=" & request("pass") & ";",ConnadOpenStatic, adLockOptimistic RS("aaa")=Request("aaa") RS("bbb")=Request("bbb") RS.update RS.closeset RS=nothing Conn.closeset Conn=nothing 上記更新コードを実行すると、 ADODB.Recordset エラー '800a0bb9' 引数が間違った型、許容範囲外、または競合しています。 というエラーになってしまいます。 どこを直せばよろしいでしょうか。 お願いします。
442 名前:435 [2006/04/16(日) 17:50:24 ID:eJrc5hWb] 解決しました。失礼しました。
443 名前:nobodyさん mailto:sage [2006/04/18(火) 18:02:27 ID:???] 435は解決したとみせかけて実は解決していなかった だから質問をコピペし、別の板、もしくは別のスレで書き込み答えを得ようとしたのか?
444 名前:nobodyさん mailto:sage [2006/04/19(水) 17:14:37 ID:???] ASP.netやり始めて勉強してるんだけど、asp関係の板ってこんなに過疎ってるとは思わなかった。 いろいろ勉強してるんですが、なかなかおもしろいのになぁ。 SQL2005が2000と比較して結構強力になってるっぽいし、ASP.netもいろいろおもしろい。 勉強し始めて1週間ぐらいだけど、5年前手書きでがりがり書いてたASPとは全然違う。 いまObjectDataSourceにDataSetを渡して、データバインドコントロールでいろいろ表示させてるけど、 これは結構使えるかもって思った。次の開発はasp.netでやってみようかなぁ。
445 名前:nobodyさん [2006/04/21(金) 08:06:46 ID:2wM3++cG] ASP.netを開発するにはどんなツールが必要ですか?
446 名前:nobodyさん mailto:sage [2006/04/21(金) 12:15:40 ID:???] >>445 ここのアプリケーション開発基礎が詳しい www.microsoft.com/japan/msdn/sqlserver/selfstudy/ まぁ、いまであれば、Visual Web Developer 2005 Express Editionと SQLServer2005ExpressEdition with Advanced Servicesで無料で開発できる
447 名前:nobodyさん [2006/04/22(土) 05:00:11 ID:KZQOiwti] ツールを使わないで作るASPでsendmailみたいなプログラム作れないでしょうか? cgiでSMTPを使って出来たのだからありそうだけどなかなか見つかりません。 よろしくお願いします。
448 名前:447 [2006/04/22(土) 05:11:37 ID:KZQOiwti] SMTP鯖を直接叩いてメールを送るソースお願いします。
449 名前:447 [2006/04/22(土) 07:52:46 ID:IlbM7gzP] homepage2.nifty.com/lightbox/VA003334/asp051016150512.htm 今これ試してみたけど こんなエラーになりました。 どこを直せばよいでしょうか、お願いします。 ----- サーバーによって 1 つまたは複数の受信者アドレスが拒否されました。サーバーからの応答は次のとおりです。550 5.7.1 Unable to relay for -----
450 名前:nobodyさん mailto:sage [2006/04/22(土) 11:28:12 ID:???] >>449 試してみたがソースに問題はなさそう 鯖がそのメアドに送れないって言ってるんでそちらを調べてみて ttp://www.google.co.jp/search?q=%22550+5.7.1+Unable+to+relay+for%22
451 名前:nobodyさん mailto:sage [2006/04/22(土) 12:30:44 ID:???] >>449 こんなのMSであるんだな。初めて知った。 でもこれみると、POP Before SMTPやSMTP Authには対応してない気がするのは、 漏れだけかな・・・ となると、まず認証関係を確かめる必要がある。 次はスパムされちゃう恐れがあるので、そのSmtpを運営してるプロバイダを使用してる ユーザだけとか、企業だとIPアドレス等とか、いろいろ制限されててメール送信して くれない可能性があるね。
452 名前:447 [2006/04/22(土) 13:47:10 ID:IlbM7gzP] ちなみにこれがCGIでSMTPを叩いてメール送信するソースですが これをASP用に変えられないでしょうか。 お願いします。 use Net::SMTP; $smtp = Net::SMTP->new($domain); #SMTPサーバ $smtp->mail($mail); #送信元の指定 $smtp->to($to); #宛先の指定 # データ部の組み立て $smtp->data(); $smtp->datasend("To:$to<$to>\n"); #Toヘッダ $smtp->datasend("Subject:$kenmei\n"); #件名 $smtp->datasend("\n"); $smtp->datasend("テスト\n"); $smtp->dataend(); $smtp->quit;
453 名前:nobodyさん mailto:sage [2006/04/22(土) 16:06:29 ID:???] ツール使わないっていってんのに、おもいっきりモジュールつかってるんですが。 use Net::SMTP; これが許されるならBASP21を素直に使えよ。
454 名前:nobodyさん mailto:sage [2006/04/23(日) 01:14:01 ID:???] ラジオボックスを複数個用意して、いずれかが選択された時に出力する部分を入れ替える、というのは可能でしょうか。 たとえば、 <form name="sample"> <input type="radio" name="test" value="1" checked> <input type="radio" name="test" value="2"> <input type="radio" name="test" value="3"> </form> <%@ Language=VBScript %> <% If document.sample.test(1).checked = true Then %> ラジオボタンの1が選択された時に表示される内容<br> <% Else If document.sample.test(2).checked = true Then %> ラジオボタンの2が選択された時に表示される内容<br> 〜〜 こういった感じのものを作りたいと思っていますが、どうも上手くいきません。 よろしくお願いします。
455 名前:nobodyさん mailto:sage [2006/04/23(日) 02:19:41 ID:???] >>454 可能 普通にクラスのメソッドで、ポストされたラジオボタンの値に従って 処理をわければいいだけだと思われ。
456 名前:454 mailto:sage [2006/04/23(日) 03:41:00 ID:???] POSTで同ページにアクションを送る、という方法ではなく、ラジオボタンを 押された時に表示を切り替えれたら、と思っています。 ラジオボックスのonClickプロパティでどうのこうの…という方法を試して みましたが、どうもエラーが出てしまいます。 ソースのサンプルみたいなものがあれば嬉しいのですが、見つからず…。
457 名前:nobodyさん mailto:sage [2006/04/23(日) 06:58:29 ID:???] >>454 たぶんASPとクライアントサイドのVBを混同してると思われ こういうことやるなら鯖負担軽減のためにクライアントサイドでjavascriptとかで処理した方がいいと思うけど どうしてもASPでって言うなら↓みたいにすればできるけど --------------------------- <% Dim CHK,URL,MSG URL= Request.ServerVariables("SCRIPT_NAME") CHK=Array("","","") If Request.QueryString("test")<>"" Then CHK(Request.QueryString("test")-1)=" checked" %> <html> <body> <form name="sample"> <input type="radio" name="test" value="1" onclick="self.location.href='<%=URL%>?test=1'"<%=CHK(0)%>> <input type="radio" name="test" value="2" onclick="self.location.href='<%=URL%>?test=2'"<%=CHK(1)%>> <input type="radio" name="test" value="3" onclick="self.location.href='<%=URL%>?test=3'"<%=CHK(2)%>> </form> <% Select Case Request.QueryString("test") Case 1 Response.Write "1つ目が押されました" Case 2 Response.Write "2つ目が押されたようです" Case 3 Response.Write "3つ目が押されたかも…" Case Else End Select %> </body> </html>
458 名前:nobodyさん mailto:sage [2006/04/23(日) 14:40:54 ID:???] >>456 それを実現するならAjaxだな www.atmarkit.co.jp/fdotnet/special/ajax/ajax_01.html だけど、めんどくさそうで、おれならやりたくないな
459 名前:nobodyさん mailto:sage [2006/04/23(日) 16:27:40 ID:???] 表示だけの問題なら全部ソースに書いといて1つだけ表示させればいい <html> <head> <script> function disp(targetID){ document.getElementById("Disp1").style.display="none"; document.getElementById("Disp2").style.display="none"; document.getElementById("Disp3").style.display="none"; document.getElementById(targetID).style.display="inline"; } </script> </head> <body> <form name="sample"> <input type="radio" name="test" value="1" onclick="disp('Disp1');"> <input type="radio" name="test" value="2" onclick="disp('Disp2');"> <input type="radio" name="test" value="3" onclick="disp('Disp3');"> </form> <div id="Disp1" style="display:none;">ラジオボタンの1が選択された時に表示される内容</div> <div id="Disp2" style="display:none;">ラジオボタンの2が選択された時に表示される内容</div> <div id="Disp3" style="display:none;">ラジオボタンの3が選択された時に表示される内容</div> </body> </html> まぁ既にスレ違いだが
460 名前:454 mailto:sage [2006/04/24(月) 02:09:47 ID:???] ソースを元に作成してみます。 手短ですが、返答ありがとうございました。
461 名前:nobodyさん [2006/04/24(月) 11:16:04 ID:gF03A8tY] 今さらかもしれないのですが、ISAPIについて教えてください。 ISAPIFilterからApplication変数を読む事ってできないでしょうか。
462 名前:nobodyさん mailto:sage [2006/04/25(火) 10:04:51 ID:???] 文字列の比較について聞きたいのですが、分かる方がいればお願いします。 ドメインのカントリーコードを抜き出して比較するためのコードとして、以下のように書きました。 Dim country1 Dim country2 country1 = Session("domain") If country1 = "" then err = 1 Else country2 = Split(country1,".")(UBound(Split(country1,"."))) If country2 = "com" or "net" or "jp" then err = 1 End If End If Session("domain")には、フォームから送信されたドメイン名(www.hogehoge.orgなど)が入っています。 しかし、これだとエラーが出てしまいます。 何度か試してみましたが、If country2 = "com" then のように、一種類だけなら問題なく動きました。 原因が分かる方いませんか?
463 名前:462 mailto:sage [2006/04/25(火) 11:20:35 ID:???] 先ほど書き込みした者です。 昨日から悩んだ末の書き込みでしたが、先ほど演算子の優先度の関係に気づき、自己解決しました。 板汚し失礼しました。
464 名前:nobodyさん [2006/04/28(金) 01:48:17 ID:TXbB+xqv] ASPをこれから始めようと思ってます。 で、IISをインストールして、IEからttp://127.0.0.1にアクセスしたところ、 ユーザー名とパスワードの入力ウィンドウが表示されました。 ユーザー登録した覚えはないのですが、どうしたらいいですか?
465 名前:nobodyさん mailto:sage [2006/04/28(金) 07:06:59 ID:???] >>464 IISの設定で「既定のWebサイト」のプロパティから ディレクトリセキュリティ→匿名アクセスおよび認証コントロールの「編集...」 のダイアログの「匿名アクセス」に チェックついとるか?
466 名前:nobodyさん mailto:sage [2006/04/28(金) 22:49:06 ID:???] >>464 それってルーターかモデムにアクセスしようとしてるんだよ 試しにルーターかモデムにログインするIDとパス入れてご覧
467 名前:nobodyさん mailto:sage [2006/04/29(土) 00:22:32 ID:???] >466 それはひょっとしてギャグで(ry
468 名前:464 [2006/04/29(土) 12:17:28 ID:5l2q50I6] >>465 IISの設定の方法がわかりません。
469 名前:nobodyさん [2006/04/29(土) 13:29:04 ID:xQDtvren] 携帯サイトを作ろうとしてますが、キャリアによって移動するページを仕分けたいのですが どのような判別ソースを書けばよいでしょうか? キャリアはEZ、Docomo、Vodafoneですが、画像を表示できるタイプとできないものの 全部で6パターンを仕分けたいです。 よろしくお願いします。
470 名前:nobodyさん [2006/04/29(土) 17:09:41 ID:xQDtvren] これをASP風に変更すればどんな感じになるでしょうか? お願いします。 sub User_Agent { my($user_agent) = @_; # exp. DoCoMo/1.0/P209is/c10 if (user_agent =~ /DoCoMo/i) then platform = "DoCoMo" agetPart = split(/\//, user_agent); browser = "DoCoMo" if agetPart[1] =~ /\(/) { # FOMA $agetPart[1] =~ /([0-9]\.[0-9])\s([^\(]*)(.*)/ ; $browser_v = $1; $platform_v = $2; } else { # i-mode $browser_v = $agetPart[1]; $platform_v = $agetPart[2]; } if($platform_v eq '') { $platform_v = ''; } return ($platform, $platform_v, $browser, $browser_v); }
471 名前:nobodyさん [2006/04/29(土) 17:12:39 ID:xQDtvren] しくじりました。こっちです。 sub User_Agent { my($user_agent) = @_; # exp. DoCoMo/1.0/P209is/c10 if ($user_agent =~ /DoCoMo/i) { $platform = 'DoCoMo'; @agetPart = split(/\//, $user_agent); $browser = 'DoCoMo'; if ($agetPart[1] =~ /\(/) { # FOMA $agetPart[1] =~ /([0-9]\.[0-9])\s([^\(]*)(.*)/ ; $browser_v = $1; $platform_v = $2; } else { # i-mode $browser_v = $agetPart[1]; $platform_v = $agetPart[2]; } if($platform_v eq '') { $platform_v = ''; } return ($platform, $platform_v, $browser, $browser_v); }
472 名前:nobodyさん mailto:sage [2006/04/29(土) 18:22:50 ID:???] >>468 ふーんそっか大変だね
473 名前:466 mailto:sage [2006/04/30(日) 00:30:55 ID:???] >>467 すまん。実際俺はそうだったよ 串指してないし
474 名前:nobodyさん mailto:sage [2006/04/30(日) 12:32:07 ID:???] 今すぐループバックアドレスでぐぐれ。
475 名前:464 [2006/04/30(日) 15:56:09 ID:BgW+gShw] えー色々と問題を解決していきました。 とりあえずお礼と結果 >>465 チェック入ってました。結局アクセスできませんでしたが、 他のファイルはアクセスできることがわかりました。 多分、最初のファイル自体の問題なんじゃないかと思います。 有難うございました。 >>466 違いました。 有難うございました。 で、ASPをやってみて、JScriptとVBScriptは上手くいくんですが、 ASP.NETのC#ができません。MMCで使用する言語をC#にしたんですが どうやら実行が許可されていないようです。 どうすればいいでしょうか。
476 名前:nobodyさん mailto:sage [2006/04/30(日) 16:52:26 ID:???] ASP.netはスレ違いなんだが… とりあえずやってみようとしてるファイルの ファイル名と内容とブラウザに出てきたエラーの詳細を晒してみ。
477 名前:464 [2006/04/30(日) 17:14:27 ID:BgW+gShw] >>476 わかりました。以後、ASP.NETの質問はASP.NETスレでやります。 127.0.0.1/ ファイル名:index.aspx ←IISのドキュメントのところで設定した。 カレントディレクトリはwwwroot HTTP 403.1 アクセスは許可されていません: 実行アクセスは許可されていません。 ・背景 プログラムの実行が許可されていないディレクトリから、CGI、ISAPI、 またその他の実行可能プログラムを実行しようとしました。 <%@ Page language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1.dtd "> <html xmlns="www.w3.org/1999/xhtml " xml:lang="ja"><head> <title>Test</title></head><body> <h1>Test</h1> <p><%= "test" %></p> </body></html>
478 名前:nobodyさん mailto:sage [2006/04/30(日) 20:32:41 ID:???] wwwrootのフォルダのアクセス権だな。 Everyoneに読み取りと実行の権限がいるはず。 あと既定のwebサイトのプロパティでアプリケーション設定の実行アクセス権を 「スクリプトのみ」か「スクリプトおよび実行可能ファイル」にしてあるか確認。
479 名前:464 mailto:sage [2006/05/01(月) 01:40:32 ID:???] >>478 動きました。(少し感動) 有難うございます。
480 名前:nobodyさん [2006/05/01(月) 21:20:33 ID:G9IWAFk4] >>470-471 についてお願いします。
481 名前:nobodyさん mailto:sage [2006/05/01(月) 22:42:43 ID:???] >>480 function User_Agent (var1,var2) { var user_agent = Request.ServerVariables("HTTP_USER_AGENT").Item(); // ex. DoCoMo/1.0/P209is/c10 if (user_agent.match(/DoCoMo/i)) { platform = "DoCoMo"; agetPart = user_agent.split("/"); browser = "DoCoMo"; if (agetPart[1].match("(")) {// FOMA // $agetPart[1] =~ /([0-9]\.[0-9])\s([^\(]*)(.*)/ ;←ここ意味不明?代入?正規表現? browser_v = var1; platform_v = var2; } else { browser_v = $agetPart[1]; platform_v = $agetPart[2]; } if (platform_v=="") { platform_v = ""; }// ここ意味あるの? } return (platform, platform_v, browser, browser_v); }
482 名前:nobodyさん mailto:sage [2006/05/01(月) 22:53:52 ID:???] こうか?適当。ノーチェック。 function UserAgent(userAgent) dim platform,agetPart,browser,regex,omatches,omatch dim browserV,platformV if instr(Ucase(userAgent),"DOCOMO") > 0 then platform = "DoCoMo" agetPart = split(userAgent,"/") browser = "DoCoMo" if instr(agetPart(0),"(") > 0 then set regex = new RegExp regex.pattern = "([0-9]\.[0-9])\s([^\(]*)(.*)" set omatches = regex.execute(agetPart(0)) set omatch = omatches(0) browserV = omatch.submatches(0) platformV = omatch.submatches(1) else browserV = agetPart(0) platformV = agetPart(1) end if end if UserAgent = array(platform, platformV, browser, browserV) end function
483 名前:nobodyさん mailto:sage [2006/05/02(火) 14:14:00 ID:???] hoge1.aspにて dim hoge set hoge = new clsHoge set session("sshoge") = hoge hoge2.aspにて dim hoge set hoge = session("sshoge") response.write hoge.hello() というようにhoge2.aspでオブジェクトを取り出して 使いたいのですがhogeのhello()メソッドにアクセスできません。 どこに問題があるか分かる方がおられましたら 教えていただけないでしょうか?
484 名前:nobodyさん mailto:sage [2006/05/02(火) 15:34:41 ID:???] >>483 hello()メソッドはどこで定義したの?
485 名前:nobodyさん mailto:sage [2006/05/02(火) 20:53:58 ID:???] >>482 ありがとうござあいます 今日は酔ってるんで明日やってみます
486 名前:nobodyさん mailto:sage [2006/05/03(水) 00:24:06 ID:???] >>483 超残念。 SessionにはVBScriptのオブジェクトは格納できない。 (厳密に言えば格納は出来るけど、それを取り出して使う事が出来ない) SessionはIISのオブジェクトであって、VBScriptとは次元が違うから。 自力でserialize的な仕掛けでも作るしかないね。
487 名前:nobodyさん mailto:sage [2006/05/17(水) 17:39:34 ID:???] Microsoft JScript 実行時エラー エラー '800a138f' 分かる人、助けてくらはい
488 名前:nobodyさん mailto:sage [2006/05/17(水) 20:24:32 ID:???] せめてそのエラーを吐くソースを晒せ
489 名前:nobodyさん mailto:sage [2006/05/17(水) 23:51:46 ID:???] >>487 ランタイムエラーを起こすJScriptコードがあるってことだな。
490 名前:nobodyさん mailto:sage [2006/05/18(木) 06:23:27 ID:???] ちらっとぐぐってみたら WindowsUpdateが絡んでいるようなのがちらほら。 だとしたらちょっと厄介な話かもね
491 名前:nobodyさん mailto:sage [2006/05/26(金) 09:32:16 ID:???] 引越ししたんだが、webサーバーに使ってたマシン(Win2000server)でaspを実行すると、 response.redirectで引っかかるようになってしまった。 別PCで動かした場合は今までどおり動くんだが、、、 IISとか設定いじった覚えもないし。 何か疑うような所ってあります??
492 名前:nobodyさん mailto:sage [2006/05/26(金) 16:10:20 ID:???] IISの設定で親のパスを有効になってますか?
493 名前:nobodyさん mailto:sage [2006/05/29(月) 11:55:41 ID:???] >>492 なってます。 ナンデダロ。。。。 response.redirectで別aspに飛ばすと、 内部エラー500で止まってしまう。
494 名前:nobodyさん mailto:sage [2006/05/29(月) 23:41:30 ID:???] >>493 まずこれを試せ support.microsoft.com/kb/261200/ja
495 名前:491 mailto:sage [2006/05/30(火) 09:33:53 ID:???] 「ISAPIアプリケーションをキャッシュする」のチェックが抜けてますた。。。 外した覚えもないんだけどな。。。 >>492 ,>>494 様、サンクスです。
496 名前:nobodyさん [2006/06/08(木) 21:56:07 ID:Ak1nru4j] 初歩的なんですが、テキストの色を変えるために Response.Write "<FONT color"red">hoge</FONT>" ってやるとエラーになるんですが、どうすればいいんでしょうか?
497 名前:nobodyさん mailto:sage [2006/06/08(木) 23:44:25 ID:???] >496 redの前後の"を""と二つ続ける ↓ ウマー
498 名前:nobodyさん [2006/06/09(金) 00:24:28 ID:ziVzofuc] >>497 サンクスです! そっか、単純に"だと閉じちゃうのか。