トップページ⇒php
982コメント364KB

==ASP== Part 2

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/07/30 19:28ID:FEU9c2CH
ASP について語るスレ その2

前スレはこっち
http://pc.2ch.net/test/read.cgi/php/984840107/
015214402/09/06 14:17ID:7HA1qYL/
再現できなかったYO...

IIS4でも5でも1回しか出ない。
どうもそのときのサーバの調子が悪かったような感じ。スマソ。
確かに出てたんだけど...

でもやっぱりいったんローカル変数に格納したほうが、速かった。
非力なサーバだと結構差が出る。最近のサーバなら大差は無いかもしれないが。
0153わ02/09/06 14:41ID:aGUXJUY2
>>152
いったんローカルに格納したら早くなるのは当然だね。
それは文字解析して、その変数がどこにあるか探さなくてすむから
だからオブジェクトなら
set a = session("b")
でいい。

でもね、レコードセットそのままsessionに入れておくと今度はサーバのメモリに負荷がかかりすぎるよ。

それよりキーだけを持たせておいて再度アクセスするほうがいいと思う。
性能とかのバランスによるけどね。

ただ最新版になるし再度取り直しのほうがいい。


あと、sessionにコネクション置いたりしたらだめよと。
015414002/09/06 15:09ID:???
>>153
自作のオブジェクトだったらよいですよね?
0155わ02/09/06 15:15ID:aGUXJUY2
>>154
いいと思うよ。
ただ簡単に作り直せる内容だったら都度作り直したほうがいい。
でも、自作オブジェクトなら普通に配列をSessionに入れてるのと
原理的に変わらないからいいんじゃない?

ADOやoo4o関連はでかいオブジェクトだからできるだけ避けたほうがいいね。
015614402/09/06 16:00ID:7HA1qYL/
>>153
>いったんローカルに格納したら早くなるのは当然だね。
>それは文字解析して、その変数がどこにあるか探さなくてすむから

まあ当り前ちゃ当り前だわな。
ただ余りに差が大きかったもので。
鯖がへっぽこなのもあるが。

>でもね、レコードセットそのままsessionに入れておくと今度はサーバのメモリに負荷がかかりすぎるよ。
>それよりキーだけを持たせておいて再度アクセスするほうがいいと思う。
>性能とかのバランスによるけどね。
>ただ最新版になるし再度取り直しのほうがいい。

言い訳させてもらうと、このスクリプトは、htmlで表示させた後、必要ならCSVでダウンロードさせる目的
で作ったんだわ。そうすると普通ならテーブルを2回読むことになる。しかも表示したのとまったく同じデータを
ダウンロードさせたい。そんなこんなでわざわざこんなことやってるんだわさ。

そのかわりScript.TimeOutは短め。

>あと、sessionにコネクション置いたりしたらだめよと。

さすがにそれはやらない。


0157nobodyさん02/09/07 01:48ID:WBngM5bY
>>152
っていうか、クッキーの仕組み知ってる?

知ってたら、どんなにサーバーの調子が悪くても、そんなこと、
あり得ないことがわかるハズだが。(つーか、サーバーの調子って(w

別に、必要になってときに、右から左にクッキーとか言うオブジェクトを
投げてるわけじゃないぞ。

しかし、セッション変数の格納にいくらコストがかかると言っても、
1スレッドで体感できるほど重い処理じゃないだろ?いくらなんでも、
情報に影響されすぎじゃないか?

一体、何個のループ回して測ったんだよ。
0158nobodyさん02/09/07 01:58ID:WBngM5bY
>>154
自作は自作でも、もし、VBで作ったActiveX DLLだったら、
こいつにデータを保持して、セッションで使いまわすのは
やめといた方が良い。

詳細は忘れたが、アパートメントスレッドの絡みで、
よろしくないと、MSのサイトで読んだが、MSのサイトは、
もうワケがわからんので、出展も見つからんのだが、
やめとけってことだけは覚えてる。
015914402/09/07 08:53ID:0ep5cIDW
>っていうか、クッキーの仕組み知ってる?

>知ってたら、どんなにサーバーの調子が悪くても、そんなこと、
>あり得ないことがわかるハズだが。(つーか、サーバーの調子って(w

>別に、必要になってときに、右から左にクッキーとか言うオブジェクトを
>投げてるわけじゃないぞ。

わかってるがなぜブラウザから警告が出てきたのが説明がつかない。
あーもう再現できないからどうでもいいや。

たぶん漏れの勘違いだろう。

>しかし、セッション変数の格納にいくらコストがかかると言っても、
>1スレッドで体感できるほど重い処理じゃないだろ?いくらなんでも、
>情報に影響されすぎじゃないか?

>一体、何個のループ回して測ったんだよ。

要求したSession変数は25×550=13768回。
ちなみにサーバのスペックはPenPro200MHz×2、Memory128MB、HDは4G。
ずいぶんかわったそ。

あー一応付け加えておくとPenIII1.13GHzだと全然わかんなかった。
016014002/09/07 11:45ID:???
>>158
Σ(゚Д゚;エーッ!
VBで作ってます。C++で作り直すかー
たいしたことないものだし。でもActiveXDLLなんて作ったことないなー
がんばろう。Variantとかめんどくさそうだなー
0161nobodyさん02/09/07 14:34ID:WBngM5bY
>159
157だが、そういえば、クライアントサイドのスクリプトでダイナミックにクッキーを
発行すればそういう現象も起きるかな?

よくエロサイトとかで、クッキーを何度も聞かれてウザイという状態は
確かに見たことあるが。
0162nobodyさん02/09/07 14:40ID:WBngM5bY
>160
だから、DictionaryObjectに、name,value(variant)でぶちこんで、
セッションで使いまわすのは足りない?

また、ASPでクラスを宣言しておいて、Dictionary経由なり直接セッションに
ぶちこむなり使いまわすのもありだと思う。多分、クラスは使うすべてのASPで
includeしておけば、永続化できると思うんだが、やったことないので、
やってみてって感じであるのだが。

ただ、セッションは参照を保持するだけらしいので、スコープに気をつけて。
016314002/09/07 14:52ID:???
>>162
どうもです。
ActiveXDLL内で普通のDLLを呼んでいるのですが
それに付随する変数群をまとめたクラスにできたら
とてもすっきりします。
0164nobodyさん02/09/07 16:40ID:???
>>162
ASPで作ったクラスをSession変数にぶち込むのはダメみたい。
前スレの222あたりにそんな話が出てる。
0165nobodyさん02/09/07 20:24ID:WBngM5bY

ためしにやってみた。
■クラス記述〜省略
クラス名:test
■オブジェクト生成→セッションに入れるASP (a.asp)
dim testA
set testA = new test
testA.setA=100
set session("Obj") = testA
■セッションから呼び出したいASP (b.asp)
dim testB
set testB = session("Obj")
response.write testB.getA
--------------------------------------
b.aspを呼び出すと、

Microsoft VBScript 実行時エラー (0x800A01B6)
オブジェクトでサポートされていないプロパティまたはメソッドです。: 'getA'
/test/b.asp, line 8

こんなんがデル。

セッションに入れてるのは参照にすぎず、ADOみたいにオブジェクトを
誰かが管理してくれないと、スコープを外れた時点で、ガベージコレクション
でさようなら・・・と。っつーか、セッションが参照してるんだから、消すなよ!

ちなみに、今までやった例では、クラス内のオブジェクトをXMLに
シリアライズして、テキストデータでデータを渡していくということなら
やったことアリ。
もちろん、わざわざ、そこまでする理由があるからやってるという
ことを付け加えておく。
0166nobodyさん02/09/08 16:43ID:???
今時ASPdesuka?
0167.02/09/08 22:32ID:???
>>166
そうそう。今時はaspxだよね。(w
0168わ02/09/09 00:22ID:DVD5p1M9
>>166
>>167
ASPを勉強しておかないとASP.Netで余計わけ分からなくなるぞ。
ASP以上にサーバサイドとクライアントサイドの公開が分かりずらいから。
0169nobodyさん02/09/09 03:14ID:???
>168
段々、HTTPやSMTPなんかの基本的なトコロがわからなくなっていく罠 <ASP.NET

もちろんASPも、perlに比べると、その気が強いわけだが、まだ標準出力を
多少なりとも意識しなきゃいけないだけマシ。

基本的な.NETの設計思想として、WebがわからないVB厨にWebプログラムを
させるためというのがアリそ。と、嘆いても、意味ないんだが。

最近、.NETに行くためもあり、JSP+Servletやってます。

JSP+ServletよりもASP.NETの方が遥かに便利ですが、Servletの
方が圧倒的に仕組みがシンプルなので、WebFormsとか、なんか妙な
フレームワーク覚えるのって、すげー面倒だなぁとか思ったり。
0170nobodyさん02/09/10 15:34ID:FwkPNLnA
アクセスに接続してデータをブラウザで表形式で表示させるんだけど、
別に表示させたくない、でも裏では使いたいって時、
任意のものだけ表示させて、いらないものは表示しないようにするにはどうすればよいですか
0171nobodyさん02/09/10 16:13ID:???
>>170
Response.write "任意なもの"
0172nobodyさん02/09/11 11:30ID:invGZgj9
td align="right" nowrap
%if oRdset.Fields("tai") = "" then% ****
%else% %=oRdset.Fields("tai")% %end if%
/td

データーベースから取り出したやつなんですが、
元テーブルが空白の時「****」が入るようにして、表がくずれないように
したいのですが、(元テーブルはCSVからコンバートしたやつです。)
上と同じ記述で、いくつかの列がありますが、うまくいく部分と行かない部分があります。

また、ブラウザで「****」となっていても、元テーブルの空白に、何か数値を入れて、削除しても表がくずれて表示されてしまします。
0173nobodyさん02/09/11 12:14ID:vrthIJZ5
>>172
なにこれ?
ひょっとして "<" と ">" が抜けてるんか?
0174nobodyさん02/09/11 12:17ID:vrthIJZ5
だとしたら
>%if oRdset.Fields("tai") = "" then% ****
を
If oRdset.Fields("tai") = "" Or IsNull(oRdset.Fields("tai")) Then
にしてみな。
0175nobodyさん02/09/11 13:11ID:invGZgj9
>174
できました!
ありがとございます ありがとうございます
0176nobodyさん02/09/11 22:56ID:XsAkk46F
home editionでASP動かすことは可能ですか?
0177nobodyさん02/09/11 23:00ID:???
>>176
あいーん
0178nobodyさん02/09/11 23:21ID:???
何か間違えてるな。
0179わ02/09/12 00:15ID:P+5O0cxL
>>176
IISはいってねーよ。
http://support.microsoft.com/default.aspx?scid=kb;ja;JP304197
0180nobodyさん02/09/12 01:20ID:KGvCYzdv
>176
無理だから、とっととProfessionalのアップグレードパッケージを
買ってこい。多分、、流通在庫のみかと思うので。

0181nobodyさん02/09/12 17:19ID:2u4MmH0O
response.write "<input type='hidden' name='syano' & cnt &
"'value='" & rs("id") &"'>"

これをresponse.write を省略した形で書くとどうなりますか?
あと、idのとこはテキスト型にしたいのですが。
0182nobodyさん02/09/12 17:38ID:???
>>18 それエラーになるだろ。勝手に改変して
response.write "<input type='hidden' name='syano" & cnt & "'value='" & rs("id") &"'>"
   ↓
%><input type="hidden" name="syano<%=cnt %>" value="<%=rs("id") %>"><%
0183わ02/09/12 17:40ID:2rngZAKl
>>181
>response.write "<input type='hidden' name='syano' & cnt &
> "'value='" & rs("id") &"'>"
>
> これをresponse.write を省略した形で書くとどうなりますか?

= "a"

> あと、idのとこはテキスト型にしたいのですが。

テキスト型ってなんだよ?
HTMLにはテキストしかない。
ちゃんと文字列とくっつけてるやん。

よくみたらめちゃくちゃおかしいな。

response.write "<input type=""hidden"" name=""syano" & cnt & """ value=""" & rs("id") &""">"

悪いことは言わんシングルクォートは使うな.
それと、属性と属性の間にはスペースを入れろ。
0184nobodyさん02/09/12 17:46ID:???
FieldName = "id"
response.write "<input type=""hidden"" name=""syano" & cnt & """ value=""" & rs(FieldName) &""">"

って事?
018518102/09/12 17:59ID:2u4MmH0O
<%="input type='hidden' name='id'" & cnt & "'value='"
& "rs.Fields("id")" &"'%>

syanoはidの間違いでした。

自分でもやってみたのですがエラーになりました。
rs.Fields("id") ここが雛形と違ってるのがおかしいんでしょうか ドットが入ったりしてて
182さんのを参考にしてやってみます。

cntのとこは1レコードめから番号を振って行くカウンタですが182の記述
でいけるんでしょうか?
0186nobodyさん02/09/12 18:07ID:???
>>185
オジイチャン ゼンゼンチャウヨ...
<input type="hidden" name="id<%= cnt %>" value="<%= rs.Fields("id") %>">
0187nobodyさん02/09/13 17:04ID:sVn34QxR
呼ばれた自分のASPのURLを取得するにはどうしたらよいですか?
0188わ02/09/13 17:05ID:zELOxBC+
>>187
Server.Variables("REMOTE_URL")
だったかな?

Server.Variablesの中にある
0189nobodyさん02/09/13 17:09ID:???
>>188
即レス感謝!!
0190nobodyさん02/09/14 09:46ID:???
Request.ServerVariables、だな。

環境変数の中身を表示するスクリプト。
<%
Option Explicit
Dim tmp
%><html>
<body>
<table border="1">
<%
For Each tmp In Request.ServerVariables
 %><tr>
 <td><% = tmp %></td>
 <td><% = Request.ServerVariables(tmp) %></td>
 </tr><%
Next
%>
</table>
</body>
</html>
0191nobodyさん02/09/18 20:28ID:ZVywQsbI
Chili!Soft ASPはどうですか?
0192nobodyさん02/09/18 23:34ID:tXIxIctN
>191
以前は使えなかったな。
ゴメン、最新の事情は知らないっす。
0193nobodyさん02/09/19 01:13ID:uAgWICSm
>191
comの使えないASPって・・・。

いや、自作とかじゃなくっても、BASP21の使えないASPに
意味があるのか・・・と。
0194nobodyさん02/09/19 14:24ID:TpiYxhP0
<%session("var")="123"%>
この記述で123の部分を

<form>
<input type="text"〜
</form>
の"text"のとこの値をとって格納するにはどう記述すればよいですか?
上記は同一ページ内です。
0195nobodyさん02/09/19 14:43ID:6GoESkM0
>194
自分が認識している前提を他人が知っていると思うのは開発者としてヤヴァイ。
ちゃんと説明をするのが質問をする場合の態度と思ワレ。
質問の「意図」がサパリわからんよ・・・

まさか <% = session.contents("var") = "text" %> という回答を期待しているのではないだろうから (;´Д`)
019619402/09/19 15:09ID:TpiYxhP0
フィールドの入力欄に入力された値からセッション変数を取得したいんですが
0197名無しさん02/09/19 16:11ID:???
>>196
クライアントとサーバの差を学ぶところから出直せ。
019819402/09/19 17:08ID:TpiYxhP0
何で?できないわけ?
ログイン画面とか掲示板書込みと同じようなものじゃないんですか?
ただその値をデーターベースの抽出条件にしたいだけなんですが
0199nobodyさん02/09/19 17:29ID:???
これと
<%session("var")="123"%>
これが
<form>
<input type="text"〜
</form>
別のページなら可能。

でもformからの値をどこに格納させてるのか
俺は知らんのでこれ以上書きようがない。
0200わ02/09/19 18:04ID:ZCQk9ELz
>>196
本読んでる?
1.asp
<form method="post" action="2.asp">
<input type="text" name="id" value="">
</form

2.asp
Session("id") = Request.Form("id")

テクがあれば1ファイルでできる。
ここに書いてあるのは抜粋版だからよく咀嚼して組み込んでくれ。
1.aspに書いてある内容はクライアントで実行されること
2.aspに書いてある内容はサーバだ。
0201nobodyさん02/09/19 18:40ID:elG6VFXD
200
さすが、初心者の俺でもわかた
日本語で言うと
クライアントから入力した値をセッション変数に
入れるということ?
でいいの
0202nobodyさん02/09/19 19:10ID:G6NLmMps
<Input Type=hidden Name=XXX Value=XX> で、次のaspに値を引き渡します。
で、渡された値を Request.Formで受け取ってその値を使ってサーバー側で色々な処理をさせますよね。
その引き渡された後のフォームで、クライアント側でF5キー等で最新の情報に更新したりすると、
ブラウザ上にフォームが1つしかないような時は、引き渡した値を保持してくれているみたいなのですが、
<frame> を使ったりして、ブラウザ上に複数のフォームを表示していたりする場合は引き渡した値が消えてしまいます。
Sessionを使えば値は保持できるのですが、なるべく使いたくないので使わずに値を保持するにはどうしたらいいのでしょうか?

環境は、クライアント側のブラウザはIE5.0以上が混在しています。
サーバ側は、IIS4.0+ASPです。

0203nobodyさん02/09/19 19:48ID:???
クッキーに書いといて読み出すとかは?
0204nobodyさん02/09/19 20:28ID:???
ASPでサーバーの設定方法やデータベースのことが詳しく
のっている参考書や雑誌やHPを教えてください。
お願いします。
0205nobodyさん02/09/19 20:29ID:???
>>204
www.google.com
0206nobodyさん02/09/20 02:56ID:Kzr+SoWv
>>204
http://pc.2ch.net/test/read.cgi/php/1028024916/l50
020720202/09/20 07:03ID:SQgl7jOq
>>203
ユーザーの情報も格納していますので、クッキーだとばればれなので出来れば使いたくないのですが。
0208nobodyさん02/09/20 07:32ID:Yuxe+ABB
>207
暗号化して保存<クッキー
020920202/09/20 08:33ID:SQgl7jOq
>>208
そこまで別の方法を提案すると言う事は、消えてしまうのが当たり前って事ですか?
複雑な事はしたくないのが本音なんですが、出来ないならしょうがないですよね。
0210わ02/09/20 09:06ID:???
>>201
そういうこと。
サーバの処理はsubmit以降だから。
HTTPの理屈を覚えませう
0211わ02/09/20 09:07ID:???
>>202
フレームだからね。
解決方法はhiddenか、session。
クッキーはSession自体がクッキーを利用している以上同じ。
永続的に残ってしまったり、毎リクエストごとに送ったり、CSS脆弱性で横取りされる危険性を考えると
Session以外の最適解は無い。

021220202/09/20 09:18ID:SQgl7jOq
>>211
hiddenとは、<Input Type=hidden Name=XXX Value=XX> で送る事ですか?
それだと、フレーム内のフォーム上で値が消えてしまうので今回の問題となったのですが。
何か手があるのでしょうか?

Sessionは、以前作った時に使用していたのですが、(時間設定を変えれるとは言え)時間が立つと
値を消滅させる設計になっている事と、ソースが複雑になってしまう事から他の方法がないかと模索
している次第で。
0213わ02/09/20 10:00ID:???
>>212
時間がたつと消えてほしくない理由は?
永続的にしようと思えばバックエンドにログインIDなどと結びつけた情報を格納しておけばいいこと

たしかにhiddenは無理ですね。
ユーザ固有の情報はユーザ固有に
Session固有の情報はSession固有になるように作らないといけません。

そこは実装の問題ですね。
Sessionも複雑にはなるけど(グローバル変数だからね。)
各画面単位で限定的に使うのであれば、Session("dir1_dir2_page1_name")なんてつかいかたでも
多少は軽減されない?

あと情報が少ないならget文字列にしてしまえば消えないよ。
ただ情報はだだもれ。
0214nobodyさん02/09/20 10:30ID:???
JavaScriptで他のフレームのhiddenアイテムに転送しとけばー
021520202/09/20 10:52ID:SQgl7jOq
>>213
>時間がたつと消えてほしくない理由は?
ただ単に消えた時の処理をさせるのが面倒なだけです。
(下らない理由で申しわけありません。)

>あと情報が少ないならget文字列にしてしまえば消えないよ。
>ただ情報はだだもれ。
ははは。そうなんですよね。1番最初はそんな事してました。(恥

>>214
そういうの見た事あります。
裏で一個ブラウザが起動していて消すなって奴ですよね。(違う?)
もしかして、メインのフレームに格納しておけば消えないって事ですか?
(それだったらありがたいかも)

とりあえず、「わ」さんの言う通りSession等を綺麗に使う(こちらが本道って事ですよね?)
か214さんの言うようなフレームを別に設けるか、もう一度検討しなおしてみます。
色々ありがとうございました!
0216nobodyさん02/09/20 11:06ID:???
>>215
そうそう。メインフレームに持ってればよいよ
021720202/09/20 14:18ID:SQgl7jOq
>>216
そう言う事ですか。ありがとうございます。

逆に、「F5キー」や「最新の情報に更新」のメニューを無効化する事は出来ないのでしょうか?
0218わ02/09/20 15:05ID:???
>>217
>逆に、「F5キー」や「最新の情報に更新」のメニューを無効化する事は出来ないのでしょうか?

あまりそういうことに関心を持たないほうがいい。
クライアントは好きにさせればいい。
そのときにきちんと動くように作る。

クライアントにデータを持たせてそれによってサーバの動きを変えるのはあんまりよくないよ。
F5が無効だったら不便と思わない?
021920202/09/20 15:28ID:SQgl7jOq
>>218
良くないですか。
フレーム間でデータのやり取りをさせるのも複雑な作りになりそうですし、もう一度
Sessionに立ち返ってみようと思います。
0220194です02/09/20 15:44ID:ojJnu8CM
以下のようになってるんですが、フォームでボタン押してもページ移動してくれないです。
入力.asp
  <form method="post" action="表示.asp" >
  <input type="text" name="hizuke" value="">
  <input type="submit" value="ok">
  </form>

コモン.asp
  Session("hiduke") = Request.Form("hizuke")
  strhizuke=Session("hizuke")
   strSQL = "SELECT"
   strSQL = strSQL & " cd"
   strSQL = strSQL & " ,NITI"
   strSQL = strSQL & " ,YOUBI"
          (略)
   strSQL = strSQL & " and NITI = '" & strhizuke & "'"

表示.asp
   コモンをインクルード
   抽出結果表示
0221194です02/09/20 16:01ID:ojJnu8CM
ちなみに以下のように書けば値はきちんとわたせるのですが
入力.asp
<% Session("hizuke") =20010101%>
<a href=".表示.asp" target="submain">

コモン.asp
   strhizuke=Session("hizuke")
     strSQL = "SELECT"
     strSQL = strSQL & " cd"
     strSQL = strSQL & " ,NITI"
     strSQL = strSQL & " ,YOUBI"
          (略)
     strSQL = strSQL & " and NITI = '" & strhizuke &

表示.asp
   コモンをインクルード
   抽出結果表示
0222名無しさん02/09/20 16:05ID:???
>入力.asp
>コモン.asp
>表示.asp

あなたからはプログラマとしてのセンスが微塵も感じられません。
0223194です02/09/20 16:13ID:ojJnu8CM
ほ9んとにそんな書き方してるわけないっしょ!
0224nobodyさん02/09/20 16:24ID:???
>>223
たった一つの解が見つかった。

プログラマを辞めちまえ。

0225nobodyさん02/09/20 16:30ID:NVEaqKVa
.NETのほうだけど、
カスタムコントロール内で、クッキーを作成する方法がわからないんですかど、
どなたかごぞんじですか?Responseがみつからないんすよ。
0226194です02/09/20 16:57ID:ojJnu8CM
>224
もともとプログラマではないんですが
0227わ02/09/20 17:40ID:???
>>220
method="get"
request.querystringにためしにしてみそ
http://表示.asp?hizuke=20020909
とかってなってる?

んで
コモン.aspの、1行目に
response.write request.querystringってしてみそ。

まずきちんと値がわたっているのか?取得できているのかを調べなさい。
0228わ02/09/20 17:44ID:???
>>225
System.Web.HttpResponse.cookiesを見てみそ。

でもここに書くのはどうか?
スレ違い。

でもASP.Netのスレはすぐ消えるし・・・
0229194です02/09/20 18:10ID:ojJnu8CM
>227
postのときはそのような表示が出てます
getの方試してみます。
0230nobodyさん02/09/20 21:26ID:mlZkKKiv
asap初心者
SQLの構文になっていない気がしますけど
直接構文にぶち込むと大穴あいて大変なことに
0231nobodyさん02/09/21 02:11ID:fER+Pudx
>228
ASP.NETのスレってあっさり消えるよね。
やはり、存在自体がお手軽じゃないからでしょうか。

しかし、ASP.NETが流行った日には、VB同様アフォなWebが
増えるんだろうなとつくづく。タブキー一つでサーバーに
通信に行くとか。
0232nobodyさん02/09/21 04:03ID:/fORhW6/
>>228
System.Web.HttpResponse h = new System.Web.HttpResponse(ここがなんのために必要なのか、ようわからん);

cookies までたどりつかんのよ。


スレ違いだけど…
0233     02/09/21 09:25ID:???
>>231
ASP.NETをお手軽というあなたは、
実際ASP.NET知らないだろ?

VB同様アフォなWebは確実に減るね
0234nobodyさん02/09/21 10:07ID:???
>>233
231じゃないが


も う ち ょ っ と よ く 読 め


0235220です02/09/21 12:18ID:TOae1thB
原因判明しました
上の方にぽつんと一個<form>ってタグが、書かれておりました
引用してきたファイルなんで私のせいではありません
レスくれたかたありがとうございました
煽ってくれた人もありがと
0236nobodyさん02/09/21 12:26ID:???
引用してきたファイルなんで私のせいではありません
引用してきたファイルなんで私のせいではありません
引用してきたファイルなんで私のせいではありません

そうでつか
0237nobodyさん02/09/21 12:27ID:fER+Pudx
>232
ちょっと調べてみようと思ったが、正直、VS.NETのMSDNは
途方に暮れる。
ネームスペースでフィルタリングする設定が欲しい。

とりあえず、C#などのプログラムの書き方を先に勉強した方が
良いと思われ。

あと、HttpResponseは、Pageオブジェクトのインスタンスから
いただくでそ。
VS.NET使ってるなら、WebフォームのPageクラスを継承した
クラスの中で、

HttpCookie sendCookie = new HttpCookie(クッキー変数名、値);
this.Response.Cookies.Add(sendCookie);

とか書いとけばセットされるんでは?(試してないけど。)

まだ、ASP.NETは、ASPスレに内包しないダメでは?
ASP.NETは、もうしばらく盛り上がるまで混在OKっつうのはどうよ?
0238nobodyさん02/09/21 14:19ID:h/1nMf3M
>237
いろいろありがとう。

それで、コードビハンドで使えるのはもちろんしってます。

ただ、やろうとしていたのが、カスタムコントロール内なので
ややこしくなっています。

>this.Response.Cookies.Add(sendCookie);

この部分が、むりなんですね。どうしてもResponseが使えません。
ネームスペースの問題ではないとおもうのですが。

色々、サーバーサイドに手をつけましたが、.NETが一番楽しいです。 
コードは隠せるし、スパゲティコードになりにくいし。 
プラットフォームを選ばなくなるし。 

>231
ASP.NETは、初心者にすぐ簡単にできるようなものではないと思います。
どちらかというと、ASPのほうが初心者にとっつきやすいです。
0239nobodyさん02/09/21 14:36ID:opFVH6H+
こんにちわ、
さっそくですが、、、

とあるページでボタンをクリックするとSubmitし、
サーバー側でCSVを作成し、できあがったCSVファイルをRedirectするって
ものを作成しました。

しかし、IE5.5はダウンロードしますか?ってダイアログが表示されるのに、
IE6は勝手にブラウザに表示(Excel)されます。

クライアント側の問題だとは思うのですが、
サーバー側で何か対策できないでしょうか?

ちなみに、IISの設定でMIMEのとこにCSVを登録し、MIMEを適当なモノにすると
ダウンロードできるようになるようです。
でもなんでそうなるのかよく分かりません(´ヘ`;)

サーバー
Windows2000Server
IIS5.0
ASP(VBScript)

クライアント
IE5.5以上
0240nobodyさん02/09/21 14:58ID:???
>>236

ReDirectさせずに直接ASPから吐き出してやる。
そんときにContentTypeを書き換える。

それか
>ちなみに、IISの設定でMIMEのとこにCSVを登録し、MIMEを適当なモノにすると
>ダウンロードできるようになるようです

これするかだな。
0241nobodyさん02/09/21 15:24ID:fER+Pudx
>238
今日、初めてカスタムコントロールのヘルプを見たレベルだが、
WebControlクラスには参照元のPageを取得するプロパティがあるので、

Page.Response.Cookies.add(cookie)で良いんじゃないの?


> 色々、サーバーサイドに手をつけましたが、.NETが一番楽しいです。 

確かに、他の言語は休日にいじる気にならないな。

会社や家庭内LANから、家にあるストリーミングサーバからMP3を
聞くために、アルバムを選択するHTMLと、選択されたアルバムのASXを
動的生成するプログラムをASP.NETで作ってるです。
0242nobodyさん02/09/21 16:01ID:ut/8yGer
>241
お!Pageってなんだ?はじめてみた。thisしかしらん。
おっ!できるぞ〜!
それでいけそうだぞぉ!これから試してみる!ありがとう!

P.S
会社にそんなものを…いいんですか?アクセスさしてください…
0243nobodyさん02/09/21 16:02ID:fER+Pudx
>239
Content-disposition: attachment; filename=test.csv
Content-type: application/octet-stream; name=test.csv

↑のようなのをHTTPヘッダで返すようにした
ASPを、リンクで呼び出させれば、ダウンロードしてくれるぞ。

とりあえず適当にぐぐったコピペなので、詳細知りたければ、
CSV Content-Typeとかで、ぐぐってみそ。
0244nobodyさん02/09/21 16:04ID:ut/8yGer
あー。会社にあるんじゃなくて、会社からなのね… 間違えた。
って、それって… いいんですか?やとって下さい。
0245nobodyさん02/09/21 16:50ID:fER+Pudx
>244
誰にもURLを言わなきゃ事実上問題なし。
っていうか、多数の人間に128kbpsもアクセスさせるほどの帯域の
余裕はウチにはないし。

ちなみに、試してみたら、できたよん。

protected override void Render(HtmlTextWriter output)
{
 int count=0;
 try
 {
  string temp = Page.Request.Cookies.Get("testCookie").Value;
  count = Int32.Parse(temp);
 }catch{}

 Text = "あなたは、" + (++count).ToString() + "回目のアクセスですね":

 System.Web.HttpCookie ck = new System.Web.HttpCookie("testCookie",Text);
 ck.Expires = new DateTime(2100,1,1);
 Page.Response.Cookies.Add(ck);
 output.Write(Text);
}

試しにクッキー経由のカウンターにしてみたが、初期値と結果が
コントロール内で閉じちゃったりするんで、イマイチ役に立たんような。
0246nobodyさん02/09/21 16:55ID:fER+Pudx
>245
↑のコード、書き込み中にいじったらバグをつくってもうた。

×System.Web.HttpCookie ck = new System.Web.HttpCookie("testCookie",Text);
○System.Web.HttpCookie ck = new System.Web.HttpCookie("testCookie",count.ToString());

あと仕様的にマズイのは、ボタンでポストバックするたびにカウントが増える罠(w
0247nobodyさん02/09/21 19:05ID:fER+Pudx
>246
> あと仕様的にマズイのは、ボタンでポストバックするたびにカウントが増える罠(w

isPostBack見て、増やすか増やさないかを決めれば、そんなことはありませんでした。
逝ってきます。
0248nobodyさん02/09/22 00:23ID:Yr5pMj1n
>247
244です。
>あと仕様的にマズイのは、ボタンでポストバックするたびにカウントが増える罠(w

ご存知と思いますが、ViewStateと、PreRender Eventを使えばもっと応用が利きます。
0249nobodyさん02/09/23 18:15ID:UackU58J
IISの設定にあるMIMEとは何者なんですか?

説明してして
0250nobodyさん02/09/23 18:35ID:???
>>249
ほらよ。
http://www.ietf.org/rfc/rfc2318.txt
0251nobodyさん02/09/23 19:20ID:f71NYVbj
>>250
読めネーヨ!(ノヘ;)シクシク..
0252nobodyさん02/09/23 22:08ID:XoM3D1GF
アイマイミーマインです。
■ このスレッドは過去ログ倉庫に格納されています