トップページ⇒php
1001コメント372KB

【質問】ASP.NETスレ Part2【議論】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/03/22(火) 17:32:11ID:???
●過去ログ
Part1 - 【質問】 ASP.NETスレ 【議論】
http://pc5.2ch.net/php/kako/1040/10406/1040698263.html
0437nobodyさん2006/02/21(火) 00:03:27ID:???
>>434
ASP.NET2.0ではグローバリゼーション設定が変わって、デフォルトがAutoだかなんだかになったことを聞いたような。
Web構成ファイル(Web.config)を追加して下記のように文字コード指定してみると出来るかも。半角カナだとShift_JISかね。
<system.web>
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="ja-JP" uiCulture="ja-JP"/>
</system.web>
ファイル自体のエンコードは「ファイル」→「保存オプションの詳細設定」で変更できるな。
04384342006/02/21(火) 09:41:37ID:???
<globalization culture="ja-JP" uiCulture="ja-JP" fileEncoding="shift-jis" requestEncoding="shift-jis" responseEncoding="shift-jis" />
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="ja-JP" uiCulture="ja-JP"/>

グローバリゼーション設定を変えてみましたが、駄目でした。
ファイル自体のエンコードも1バイトカタカナ可コードページ50221と50222に
変えてみましたが駄目でした。

0439nobodyさん2006/02/21(火) 18:47:11ID:???
ASP.NETってプロの携帯サイト開発の現場じゃ、まるで使えね。
0440nobodyさん2006/02/21(火) 23:43:27ID:???
>>434
Textの方が半角カナで表示されているなら、それと同じようにすればいいんじゃねーの?
例外出ないなら有効かもしれないが”shift-jis”というEncodingはないぞ。MSDNに従うと”shift_jis ”。
0441nobodyさん2006/02/22(水) 00:06:01ID:???
>439
今更
0442nobodyさん2006/02/22(水) 00:18:03ID:NbIeCQrd
改行のあるデータをSQLで拾い、改行した状態で表示したいのですが、うまくいきません。
TextBoxにすれば改行できますが、横にバーが出てくるので使えず、LabelやTableのText
に直接表示させようとすると改行が無視されています。
改行が無視されずに表示させる方法で何かいいのはありますか?
0443nobodyさん2006/02/22(水) 00:37:26ID:???
>>434
<a href="<%=AAAA %>"><%=BBBB %></a>
0444nobodyさん2006/02/22(水) 01:10:27ID:???
>442
TextBoxスクロールバーはStyleで消せるのでは?
0445nobodyさん2006/02/22(水) 01:15:13ID:???
どうせxssの脆弱性も対処してないんだろうから、
System.Web.HttpUtility.HtmlEncodeして、
空白を に置換して、
改行を<br />に置換すれば良いんじゃね?

参考:http://www.atmarkit.co.jp/fdotnet/dotnettips/242htmlencode/htmlencode.html
04464342006/02/22(水) 10:45:26ID:???
>>440
Textの方は Text='<%# DataBinder.Eval(Container, "DataItem.コード") %>'

NavigateUrlは NavigateUrl='<%# MakeURL(Container)
となっていてMakeURLは
JavaScript:window.opener.document.Form1.Code.value='ア0100';window.close();
を返すようになっています。

グローバリゼーション設定をshift-jisからshift_jisに変えても同じでした。
0447nobodyさん2006/02/24(金) 14:53:58ID:???
>>373
発売延期 orz
0448nobodyさん2006/02/24(金) 17:51:59ID:DScVU4hF
ASP.NETのページを動作させるためには
JavaScriptをオンにしておかなくてはいけないという
認識なのですが、合っているでしょうか?
また、JavaScriptをオフにしている場合どうなりますか?
0449nobodyさん2006/02/26(日) 02:58:24ID:???
>Form認証のタイムアウトがセッションタイムアウトより長いと
>セッション切れてアクセスすると普通にエラーになるな。
これどういうこと?
0450nobodyさん2006/02/26(日) 03:52:24ID:???
>>449
> Form認証のタイムアウト
アプリ側の設定
> セッションタイムアウトより長いと
システム側の設定

セッションデータが蓄積するとシステムのGCか何かで
古い物から捨ててしまう。

ってことかな。まぁまだASP.NETを弄ったこと無いんで
大外しかもしれんが。
0451nobodyさん2006/02/27(月) 01:50:23ID:???
フォーム認証では、サーバ側ではなーんも保持してないと思うが?
0452nobodyさん2006/02/27(月) 01:51:46ID:???
セッションにユーザ情報なり認証にかかわる情報保持してて、
そっちでエラーになってんのを勘違いしてるんかな?
それともほんとにセッション切れでエラーになる?(ちょっと考えにくいが)
0453nobodyさん2006/02/28(火) 15:07:03ID:ggCv+uXu
2.0のGridViewの編集モードで表示される
テキストボックスのサイズを変更したいんですけど
どうすりゃいいですか?
0454nobodyさん2006/03/01(水) 00:27:11ID:???
ASP.NETにC#で作成したActiveXのDLLを
読み込みたいのですが、

クラスライブラリをCOMの相互運用性をTRUEにする
ところまでは解ったのですが、その後
作成したクラスライブラリにGUIDを付与し
APS.NET側で<objct>タグで呼び出しても何も表示されません。
だれか簡単な手順を教えてくれる人いませんか?
0455nobodyさん2006/03/01(水) 20:51:43ID:tfTbGT8T
DataGrid中の1列をテンプレート列にして、そこにImageコントロールを
配置しています。
DataBind()を行った際に、他のセルの値に応じてこのImageコントロールの
表示/非表示(VisibleをTrue/False)を制御することはできるのでしょうか。
DataGridのCellsプロパティからImageコントロールを見ることができると
思っていたのですが、できないみたいでした・・・

どなたか教えてもらえないでしょうか。
0456nobodyさん2006/03/02(木) 00:52:53ID:???
>>455
ヒント
DataBindイベント
っていうかImageコントロール入れてるならIF分使って出来るでしょ
0457nobodyさん2006/03/02(木) 08:31:47ID:???
ここって人少ないね
0458nobodyさん2006/03/02(木) 21:19:11ID:???
for (int i = 0; i < DataGrid.Items.Count; i++){
  if (int.Parse(DataGrid.Items[i].Cells[0].Text) == 1){
    DataGrid.Items[i].Cells[6].FindControl("Image1").Visible = false;
  }
}

これみてわからなければ.NET使うのやめた方いい>>455
キューピーコーディングだから適宜最適化はしろよ。

04594552006/03/03(金) 07:49:35ID:???
レスありがとうございます。(レスが遅くなり申し訳ないです・・・)

>>456
ImageコントロールのDataBindingsにあるVisibleのカスタム連結式を
記述したらできました。

>>458
このようなやり方もあるんですね。
FindControl()というものを知りませんでした。
自分の調査不足でした。ありがとうございます。
0460nobodyさん2006/03/04(土) 11:13:59ID:V37B+kfH
ここって人が少ない感じだけど、ASP.NETってそんなに使われている
わけではないのかなぁ〜
0461nobodyさん2006/03/04(土) 13:56:48ID:???
まあ趣味で使う人はまだ少ないんじゃない?
0462nobodyさん2006/03/05(日) 00:34:16ID:???
でも利用しているサイトをよくよく見るとASPって使われてる
0463nobodyさん2006/03/05(日) 14:40:33ID:pJOWjBtC
拡張子aspは.NETじゃないほうのASPだよ。
.NETなら普通はaspxになる。
0464nobodyさん2006/03/05(日) 17:06:50ID:???
2chに書き込みできないような環境の人には使われているかもしれない
0465nobodyさん2006/03/05(日) 19:38:07ID:IJaKdcg/
VB.NetとC#ってかなり違いがあるのですか?
今ASPをメインで使っているのですが、今後は.NETもやっていくことになりそうです。
そのときにC#かVB.NETかのどっちかになるのですが、やっぱりVB.Netの方がとっつきやすいのでしょうか?
0466nobodyさん2006/03/05(日) 23:12:43ID:???
>>465
そら元の経験次第だろ。
CやJava系経験者ならC#。
元からVBとかASP(VBScript)とかベーシック系ならVB.NET。

元になってるのはFrameworkで中身同じだから機能はほぼ一緒。
言語の記述方法の差異を除外するすると、微妙にどっちかにあったり無かったりする言語仕様がある程度。
いわゆるオブジェクト指向的な言語でよく用いられているパターンはC#に多く実装。
なんか便利機能的な奴だけどやたら独自実装なのはVBってなかんじ。

ASPメインならまあVB.NETだろうな。

>>460
中小企業とかネトゲ関係のとこのページはASPとASP.NET多いな。
理由は多分管理しやすいとの作業効率。
技術者の単価もJavaよりASPかPHPの方が安いしな。

俺はASPとASP.NETとPHPとJavaとりあえず全部やってるけど
やりやすさでいうなら.NETが一番楽。
Javaが一番面倒(プログラムというより環境のセットアップから管理全てが)
まあ極めてる人間ならどれも大差ないんだろうけどな。
俺みたいな中級レベルで英語が不得意な人間にはJavaは向かないぜ・・・
0467nobodyさん2006/03/06(月) 08:36:47ID:???
>>466
Perlもしる
0468nobodyさん2006/03/07(火) 14:15:51ID:Xkvdv4Nh
全てのアクセスの間で、オブジェクトを保持しておくことは可能ですか?
Dictionary<string,string>を使おうと思っているのですが、サイズが大きいので
リクエストごとにシリアライズ・デシリアライズするのはちょっと避けたいです。

だめなら、データベース使う方向で考えています。
0469nobodyさん2006/03/07(火) 23:08:13ID:???
すべてって、ユーザに関係なくか?
04704682006/03/08(水) 00:10:36ID:EtzR6w+4
>>469
ええ、誰が接続してきてもひとつのオブジェクトにアクセスしたいんです。サイトとしてあるデータを持ちたくて。
そういうためのDBなんでしょうけど、Dictionaryのほうが汎用性が高いし、想定してる用途ではADO.NETよりDictionaryのほうがコーディングも楽なんで。
0471nobodyさん2006/03/08(水) 00:23:21ID:???
サーバキャッシュに入れとくかアプリケーション変数じゃダメなのか?
0472nobodyさん2006/03/08(水) 01:24:55ID:???
それこそただのstatic変数でもいい。
0473nobodyさん2006/03/08(水) 21:53:16ID:Kz68ahaM
ASP.NET(C#)の初心者用の参考書でおすすめの本を教えてください。
0474nobodyさん2006/03/09(木) 16:32:44ID:???
『こんにちはマイコン』すがやみつる
0475nobodyさん2006/03/09(木) 17:18:15ID:???
炎のコマ?
0476nobodyさん2006/03/10(金) 08:56:02ID:???
DataGrid関連で詳しく書かれてる本でお勧めのってありますか?
とりあえず独習ASP.NET辺りを買おうかと思っているのですが
0477nobodyさん2006/03/10(金) 19:05:13ID:???
>>476
DataGridは使わないほうがいいと思うよ
0478nobodyさん2006/03/10(金) 20:28:49ID:???
本買おうと思ってるんですが、いまなら2.0対応のがいいですかね?
0479nobodyさん2006/03/11(土) 00:11:23ID:PlkWm5If
C#でコマンドボタンを押したときに、テキストボックスに書かれた値をラベルに表示させるということを
やりたいのですが、どう書いたら良いのでしょうか?
VB.NETだと単純に
Label1.Text = TextBox1.Text
ってやればいいみたいですが。
0480nobodyさん2006/03/11(土) 02:46:01ID:???
>>477
えっ・・・できれば詳細のご教授をorz
0481nobodyさん2006/03/11(土) 13:47:17ID:???
>>477
kwsk
0482nobodyさん2006/03/11(土) 16:32:34ID:???
>>477
なんで?
0483nobodyさん2006/03/12(日) 00:27:43ID:AVitHXjK
Visual Studio .NET 2003を使っているんですが、ページングのモードって
「次へ」のタイプかページ番号を載せるか、どちらか一つしか選べないですよね?
これを両方実装したい場合って自力でコード書くしかないんでしょうか・・・
0484nobodyさん2006/03/15(水) 22:52:41ID:t21csXsE
アップロードに関する部分で教えてください
Dim sc AS Bitmap
Dim str_up AS String
str_up = Me.File_image.PostedFile.FileName
sc = New Bitmap(str_up, True)
というソースですと、サーバー上でのテストでは問題なくアップロード
できるのですが、クライアント側だと4行目でエラーが出ます。↓
使用されたパラメータが無効です。
例外の詳細: System.ArgumentException: 使用されたパラメータが無効です。

これは何がダメなのでしょうか?
0485nobodyさん2006/03/16(木) 00:49:49ID:???
同じWebサーバ内で管理している別のドメインのサイトとセッション変数を
共有することは可能でしょうか。
04864842006/03/16(木) 09:15:57ID:???
夢の中でSaveAsが出てきましたので試してみたいと思います
04874842006/03/16(木) 22:10:08ID:???
SaveAsで出来ました。
夢最強
0488nobodyさん2006/03/16(木) 23:26:12ID:???
windows update の準備ができました がタスクトレイに光った瞬間から
visualstudio 2003 のデバッグができなくなった・・・
ガイシュツ?
0489nobodyさん2006/03/17(金) 10:06:00ID:???
ワーカープロセス(aspnet_wp.exeとか)が残ったままなんじゃない?
0490nobodyさん2006/03/17(金) 18:07:26ID:JQu2wM7m
この度会社のHPで「会員ページ」を作ることになりました。
仕様としてはごく普通の
「ID・パスワードを入力 → パスが正しければそのID専用のページに飛ぶ」というもので、
希望としては
「ID・パスのデータベースへの追加(顧客の追加)が簡単な事」
「ID専用ページ(数百ページ)の管理・更新が簡単な事」です。

外注しようと思いいろいろ検索してみたのですが、
そのようなログインページを作ってもらうサービスがどのような名前なのかわからず、
外注先が見つからない状態です。
上記のようなシステムを組んでもらうにはどのような会社に頼めばいいのでしょうか?
検索すべき単語なども教えていただけると嬉しいです。
ちなみに、10万円くらいでできますでしょうか?

もしスレ違いの場合は誘導していただけると幸いです。
0491あぼーんNGNG
あぼーん
0492nobodyさん2006/03/17(金) 23:02:26ID:???
>>490
んなもん小一時間で作れるだろうがボケ!
04934902006/03/17(金) 23:05:12ID:JQu2wM7m
>>492
ボケかもしれませんが、本当にわかりません。
外注したいのでどこに頼めばいいか教えてください。
0494nobodyさん2006/03/17(金) 23:12:43ID:???
ASP.NETの開発業務を請け負いますってホームページで宣伝してる会社を探して
会員専用のサイトを作りたいんだけどIDとパスでログインする部分
(もちろん、そのユーザ管理も含めての)をお願いしたいんですが....いくらぐらいかかりますか?
とか聞けばいいんだよ。
0495nobodyさん2006/03/18(土) 00:35:19ID:???
>>490
オレなら\2,000で請け負ってやるぞ
0496nobodyさん2006/03/18(土) 01:24:44ID:???
>>490
その要件を全て満たし、アタックテストやハード込みとなると桁が2桁ぐらい違うと思う。
0497nobodyさん2006/03/18(土) 09:37:48ID:???
>>490
Web制作の料金はいくらが妥当? 3かな?
http://pc8.2ch.net/test/read.cgi/hp/1137474229/


1人日単価3万だとすると3人日しかないね。
10万じゃ難しいのでは?
実際はハード費とか打ち合わせや現地調整とかもいるだろうし
0498nobodyさん2006/03/18(土) 12:57:43ID:OMFDC3yc
いろいろWebで調べたのですが、よく分からなかったので、
もしご存知の方がいらっしゃったら教えていただけますでしょうか?

>445 で紹介されているページを見たのですが、
HTMLエンコードの対象として、ラテン1補助(Latin-1 Supplement)に
該当する文字もすると書かれています。
ラテン1補助(Latin-1 Supplement)には、XSSとかを
引き起こすような危険な文字は含まれていないようなのですが、
なぜ、HtmlEncodeメソッドの対象になっているかが分かりません。

HtmlEncodeメソッドはHTMLタグとして意味を持ってしまう特殊文字を
無害化するメソッドのはずで、そうだとしたら、
ラテン1補助(Latin-1 Supplement)をエンコードする意味は
ないような気がするのですが。。。
0499nobodyさん2006/03/18(土) 23:45:32ID:???
asp.net2.0でテキストボックスをReadonlyをTrueにしてると
ポストバックでデータが消えてしまうのはガイシュツですか?
0500nobodyさん2006/03/19(日) 20:22:27ID:q5hrIgvs
動的にFlashを変えたいのですが、現在「MM_FlashCanPlay」を使っています。
今はサーバーコントロールとして実行ができないので、HTMLで設定しています。
しかし、HTMLでの動的に帰る方法は全然わからず、ソース上で変える事ができれば
教えていただきたいのですが、どなたか分かりますか?
0501nobodyさん2006/03/23(木) 15:14:14ID:???
>>500
System.Web.UI.HtmlControls.HtmlGenericControl
0502nobodyさん2006/03/23(木) 15:18:54ID:???
2003でコンパイルするとき、

Microsoft Development Environment
行36が原因で、ドキュメントを再フォーマットできませんでした、元の形式が復元されました。

というダイアログウィンドウが表示されるんだけど、どう対処すればいいの?
aspxファイルのHTMLにエラーがあるってこと? そんなのなさそうなんだけど経験ある人いたら
教えてください。
0503nobodyさん2006/03/24(金) 01:40:53ID:wr4lXI2i
「プロジェクトを実行しようとしているときにエラーが発生しました。
WEBサーバーでデバッグを開始できません。
デバッグHTTPリクエストの送信時に、サーバー側でエラーが発生しました。
サーバーが正常に機能していることを確認してください。
デバッグなしで、DebugStart1をして、web.confinに構文エラーがないことを確認してください。
また、オンラインドキュメントで、ASP.NETとATLServerデバッグの項を参照することもできます。」
と出たんですが、どおしたらいいんでしょうか。
たすけて〜
0504nobodyさん2006/03/24(金) 02:53:08ID:KEAMwj46
ラテン1補助という言い方は初めて聞いたけど、
その対象となる「文字コードが0x0A〜0xFFの文字」の実質は改行とかタブとかの制御文字じゃなかったかな?
たしか、モデムの制御文字も含まれていて、テキストとしてそのまま送ると誤動作するから、
なにか足し算して2バイトで送るとかなんとか、JAVAが2バイト単位なのも、バイナリーもそのまま送れるという=直列化(シリアライズ)機能
(間違ってたらごめん)
ブルーブ(バ?)ックス(単行本)の文字コードという本で見た
0505nobodyさん2006/03/24(金) 12:05:59ID:???
>>503
.Netフレームワークを複数バージョンインストールしてない?
仮想Webの.Netフレームワークのバージョンがプロジェクトと合わないと
実行不可能になるよ。
0506nobodyさん2006/03/25(土) 18:19:01ID:dMflSCJ9
PHP使いなんですが、いま仕事上でASPをさわってるんですが、質問。
メールフォームの送信を.aspでやるときに、送信者側のファイル添付は可能でしょうか?
mailer.addattachmentメソッドがあるようなんですが、そのまま使ってもファイルは添付されずに、送信者のローカルPCのファイルへのパスが送られてくるだけなんですけど。
これってもしかして、一旦uploadscript.aspなんかでサーバーへアップロード保存して、サーバー側に保存されたファイルを添付させるという、2段階手続きじゃないとムリなんですか?
その場合、送信するメールフォームと対になるサーバー側の画像ファイルとの関連づけはどのようにするのか悩んでるんですが、何かアドバイス有りましたらよろしくお願いします。
0507nobodyさん2006/03/25(土) 19:01:40ID:???
>>506
ASPはこっち↓
http://pc8.2ch.net/test/read.cgi/php/1120361248/l50
05085002006/03/26(日) 20:05:29ID:SPFq5P+Z
動的に配置したテーブルの中にタグを入れる事ってできますか?
上でちょっと教えてもらい、今こんな感じでやっているのですがうまくいきません・・・

Dim obj_swf As System.Web.UI.HtmlControls.HtmlGenericControl
obj_swf = New System.Web.UI.HtmlControls.HtmlGenericControl
obj_swf.InnerText = "<EMBED src=""""../hoge.swf"""" width=""""100%"""" height=""""70"""" type=""""application/x-shockwave-flash""""></EMBED>"

Table.Rows.Add(New TableRow)
Table.Rows(0).Cells.Add(New TableCell)
Table.Rows(0).Cells(0).Controls.Add(obj_swf)

この書き方だとただの文字列として表示されます。
そうではなくて、タグとしてテーブルに埋め込むのは、どんなプロパティになるのでしょうか?
0509nobodyさん2006/03/27(月) 07:50:49ID:???
>>508
http://msdn2.microsoft.com/ja-JP/library/system.web.ui.htmlcontrols.htmlcontainercontrol.innerhtml.aspx
0510nobodyさん2006/03/30(木) 02:25:07ID:/ig9a/HF
データグリッドのテンプレート列でドロップダウンリストをおいています。
データは数値で持ってるからそれをdatavalueにしてて、itemをつくって
対応させてるんだけど、
このドロップダウンリストの選択値(item)をラベル表示することはできますか?
説明へたでごめん。

あるいは、データの値に対して指定した文字に置き換える方法でもいいんだけど。
たとえば
あるデータが
0だったら○
1だったら×
2だったら△
と表示できませんか。カスタム連結式でReplaceつかって置き換えようと思ったんだけど、知識が足りないのか、できなかったorz
助けてください。お願いします。
0511nobodyさん2006/03/30(木) 21:44:24ID:???
データグリッドでRowDataBoundイベントで非表示列の値によって
行の色を変えたいのですが非表示列の値を参照すると空文字列
になってしまいます。
どのようにしたら実現可能でしょうか?
0512nobodyさん2006/03/32(土) 20:35:16ID:???
データソースみたらええんちゃう?
0513nobodyさん2006/03/32(土) 20:55:38ID:???
http://www.rakuten.co.jp/pc-success/766477/822318/858354/
0514nobodyさん2006/04/05(水) 20:04:51ID:???
Panelに入っているtextboxでAutoPostBackをFalseにしてある
にもかかわらず、ポストバックが走ってしまいます。
Panelに入っていないtextboxは大丈夫です。
何が原因なのでしょうか?

吐き出されたHTMLをみると OnPropertyChange="__doPostBack('〜
となっています。
それと、ASP.NET2.0でマスターページを使っています。
05155142006/04/05(水) 22:05:13ID:???
すいません。自己解決しました。
0516& ◆q9KSw2mqEg 2006/04/06(木) 16:54:10ID:sG70uRW4
ASP.NET(IIS5.0)でウェブページを作成しています。
印刷処理中画面を作成しているのですが、印刷処理(COMコンポーネントのメソッドをキック)
をPage_Load()に書いているため、処理中ページの表示がCOMのメソッドが終わるまで待機してしまっています(白画面)。

処理中画面は印刷処理が開始されたら、「処理中」と画面に表示し、処理が終わったら、「印刷完了」とラベルのTEXTを書き換える動きとなってます。
現在の処理は、
Sub Page_Load()
↓
ラベル.TEXT = "印刷中"
↓
印刷処理DLLのインスタンス作成
↓
印刷処理DLLの印刷メソッドをキック
End Sub

Sub 印刷処理DLLの印刷終了イベント()
ラベル.TEXT = "印刷完了"
End Sub

となっております。
当方は、WEBは初めてなので、いろいろと調べましたが、
わかりませんでした。
Page_Load()が終わったところで、メソッドを呼べれば問題ないのですが、タイマークラスのイベントで実行しようとしても、
なぜか、Elapsedイベントが起きないので、困っております。
Enabled,Intervalの設定はOKなのですが,,,。
なお、メソッドの終了はCOM側のイベント通知で判定を行いたいです。
どなたか、知恵をお貸しください。よろしくお願いします。
0517nobodyさん2006/04/13(木) 20:54:54ID:???
ASP.NETでC#を使いWebページを作成しています。
<asp:Literal>を使用することによってHTMLのタグを動的生成しています。
LiteralのTextを指定することによって好きな場所に簡単にタグを
埋め込む事が手間をかけずに簡単にできるので使用しています。
これは使い方としては好ましくないでしょうか?
変数などは必ずチェックをいれて使用しています。

aspx側
<asp:Literal id = "A" runat = "server">

aspx.cs側
A.Text = "<h2>" + 変数 + "</h2>";
05185172006/04/13(木) 20:59:17ID:???
JAVASCRIPTOFF環境、また、CSSは外部ファイルとして使用し、
Table等も無駄に使わない(ASP.NET上のタグ関係でTable使用が多いので)為
に上記の様なことをしています。
0519nobodyさん2006/04/14(金) 21:39:45ID:sJz0Nlan
ASP.NET2003を使ってますが、メールの送受信をしたいのですが、受信ってできるのでしょうか?
送信はなんとか出来たのですが、添付ファイルの表示が出来なくて悩んでます。
受信に関する部分をちょっと探してみたのですが、見当たらないので、ひょっとして
受信事態日対応なのでしょうか?
0520nobodyさん2006/04/19(水) 09:40:44ID:???
Response.BinaryWriteでEOF(0x1a)を出力したいのですが、
どのようにしたらよいのでしょうか?
0521nobodyさん2006/04/19(水) 11:05:56ID:QJsveAHA
どうもこんにちわ
VS2005st使って今HPリニューアルに挑戦中なんですが
ASP.net2.0でframeタグの様な物はあるのでしょうか?
試しにfremタグ書いてASP.NET開発サーバーでやってみたのですがうまく動きません。contentコントロールの中でも外でもダメでした。もしかして開発サーバでは動かなくてもサーバーにアップロードすれば動くんですかね?
教えてください。おねがいします。
既存サイト(既存項目の追加でも追加できないサイト)の使い回しがしたいのでよろしくおねがいします
0522nobodyさん2006/04/19(水) 17:09:52ID:???
>>519
.netFreamWorkの初心者なので、間違ってたらごめん。
そもそもそういうクラスライブラリがないので、簡単には無理だと思います。

しかし、確かFreamWorkでTCPのソケット通信ができたはずなので、
それでPOPサーバに接続して、メールを受信すれば可能です。
メール受信→データベースに保存なり、日付+時間の名前でローカルに保存したり。

他にはBASP21あたりのCOMコンポーネントを使えばいいかと。
Delphiが使えるのならIndyで簡単なメール受信dllを作成して組み込むのもアリかと思います。
05235192006/04/19(水) 19:08:16ID:???
>>522
レスありがとうございます。
結局BASP21を使って受信、ファイルの表示は出来るようになりました。
が、受信したファイル情報を一旦どこかに展開してからの表示になるようで
データ量が多いと表示するのに激しく時間が・・・
0524nobodyさん2006/04/19(水) 20:27:07ID:???
>>523

BASP21の動きですが、comが受信して、その結果をどうにかして・・・・とやるので、
レスポンスはそんなに良くないと思いますよ。
時間の設定次第では、途中でタイムアウトということもあり得ると思います。

そんなときは、別プロセスで動作させます。
例えば、自作のアプリや、aspができるならVBSやWSHも書けると思うので、
定期的にメールを受信するバッチを作ります。
んで、タスク等で定期的に実行し、データベース等に保存しておきます。
(sleepさせて、ずっとプロセスとして起動しておくのも手だけど、タスクやその他の
方法で定期的に受信プロセスを起動させてあげたほうがいいと思う)

んで、asp側では、そうやって受信したメールやファイルを一覧として表示させる
だけです。題名を一覧で表示しといて、そのリンククリックで本文表示とかですね。

以前、そんな仕様でPOPサーバからメールを受信するソフトを作ったことがあります。
0525nobodyさん2006/04/19(水) 20:35:46ID:???
>>521
ASP.netのマスターページとかではだめでしょうか?↓
http://www.atmarkit.co.jp/fdotnet/asp2review/asp2review02/asp2review02_01.html

確かマスターページもオブジェクトとして、プロパティでいろいろ操作できたんじゃ
なかったっけ?(うろおぼえですまん)
aspで表示している内容に従って、各ページのリンクもいろいろ変更させたい場合等も
あるので、たぶん、フレームを使うより、1枚ペラのマスターページで、かつマスター
ページのプロパティをaspでいじれないと、サーバサイドスクリプトとしては旨くないん
じゃないかとおもふ。
0526nobodyさん2006/04/19(水) 22:03:31ID:???
確かにマスターページは結構便利だと思う。
0527521NGNG
>>525-526
レスありがとうございます。
そうなんですよ。マスターページでできればいいのですが・・
そもそもFrameで表示したい部分というのは他サイトなんですが(もちろん許可はもらってます)、どうしても表示する方法がわからないんですよ。もちろん他のコントロール等は表示されますが、他サイトを表示するブラウザのようなコントロールってないんですかね?
0528nobodyさん2006/04/20(木) 13:55:04ID:???
>>527
どういうことをしたいのかわからないけど、普通にhtmlのタグでFrameを書けばいいんでないの?
んで、そのFrameのページそのものをASPとして、ターゲットとして読み込むサイトのURLだけを
<%=%>で動的に書き込めばいいんでね?
ただそれだと、クロスサイト(だっけ?)の表示がIEにでると思う。
セキュリティ的には、Frameで他のドメインのサイトを表示させるのは、かなりやばめ。

もう一つ可能な方法としては、まず、その他のサイトのページをhtmlタグとして、1日1回
自分のサーバのディレクトリにダウンロードするバッチプログラムを書く。
その中に、自分のサイトで動的に変更したい部分に、マークアップとして

<!--#######
--ここが動的に変更する部分
######--!>

とか記述しておいてもらう。自分のサイトではASPでhtmlを動的に生成し、他サイトのhtmlを
ファイルとして読み込み、上記のマークアップ部分と動的に生成したhtmlを置換させた上で、
そのhtmlタグをresponse.writeで表示する。
こうすると他のサイトのhtmlを自前のASPと合成して1枚ペラのhtmlが完成する。
0529nobodyさん2006/04/20(木) 15:08:48ID:???
>>516
かなり遅レスだけど調べてみた。結論的には可能くさい。
まず、<%@ Page Buffer="false" %>を設定しておく。これ設定しないと、ある程度の出力がバッファされて
しまうので、印刷中以前に表示させようとする文字がバッファに入ったままで出力されない可能性がある。

1)まずイベントでなんとかならないかと考えてみた。
そこで、コンストラクタでイベントを各メソッドに割り振って様子をみてみた。
(俺C#わかんないので、間違ってたらごめん)
public partial class _Default : System.Web.UI.Page
{
 ~_Default()
 {
  Init += Page_Init;
  InitComplete += Page_InitComplete;
  PreInit += Page_PreInit;
  PreLoad += Page_PreLoad;
 }
protected void Page_Init(object sender, EventArgs e)
{
 string a;
}
こんな感じでコンストラクタでイベントを実行するメソッドを作成した。
んで起動してみたけど、これらはページが表示される前に発生するイベントらしく、画面表示後に
実行させることはできませんでした。参考のため、イベントの発生順は、
Page_PreInit→Page_Init→Page_InitComplete→Page_PreLoad→Page_Load→Page_LoadComplete
→Page_PreRender→Page_PreRenderComplete

続く
0530nobodyさん2006/04/20(木) 15:16:45ID:???
2)次にインライン形式で処理を書いてみたらどうかと考えた。(改行大杉なので、変なfor文です)
Default.aspxに以下を記述

実行前
<%
 int j = 0;
 for (int i = 0; i < 1000000000; i++) {  j = j + 1; }
%>
実行終了

こうすると、実行前の表示後のループを繰り返し、そのループ終了後に「実行終了」の文字が表示される。
従って、インライン形式で処理を書いていけば、一応可能。

3)しかし、ソースとhtmlを分離したいので、クラスに自前のメソッドとして実行できないか考えてみた。
public partial class _Default : System.Web.UI.Pageに以下のメソッドを追加
protected static void Test123()
{ for (int i = 0; i < 1000000000; i++) { } }

Default.aspxに以下を記述
実行前
<%_Default.Test123(); %>
実行後

これでも同様のような処理が可能。したがって、Default.aspx.csに印刷を実行するメソッドを実装し、
上記のようにページの中で呼び出せば、On_Load以外での実行も可能ということでつね。
以上、長文失礼でした。
0531nobodyさん2006/04/20(木) 15:31:51ID:???
ごめ、メソッドの実装方法間違ってたので修正

<%_Default.Test123(); %>
↓
<% Test123(); %>

protected static void Test123()
{ for (int i = 0; i < 1000000000; i++) { } }
↓
protected void Test123()
{ for (int i = 0; i < 1000000000; i++) { } }

に変更。クラスのインスタンス生成してるから、staticな必要はなかったorz
だけど、このASPのクラスのインスタンスはどこで生成されて、誰がもってるんだろう(´-`)
0532nobodyさん2006/04/20(木) 20:23:22ID:???
>>527
2003はフレームセットがあったけどな。
2005ではマスターページ使えってことだろう。
528のようにやるか、WebBrowserクラスとかで他サイトを読み込んで、正規表現で置換してマスターページのコンテンツにするとかもできそうだな。
0533nobodyさん2006/04/20(木) 20:45:51ID:???
>>531
>このASPのクラスのインスタンスはどこで生成されて
ApplicationManagerクラスがアプリケーションドメインを作って、
アプリケーションはHttpApplication派生クラスのインスタンスを作って……
とMSDNに書いてある。
どーでもいいが、
{ for (int i = 0; i < 1000000000; i++) { } }
とかって、なつかしいな、20年ぐらい前には待つ手段がなくて時々見かけたが。
System.Threading.Thread.Sleep(1000);//重い処理の例
みたいにした方がいいと思うよ。
0534nobodyさん2006/04/20(木) 20:54:21ID:???
>>533
>ApplicationManagerクラスがアプリケーションドメインを作って、
>アプリケーションはHttpApplication派生クラスのインスタンスを作って……
なるほど把握した。
そっからたどって、いろいろできそうでつね。

>{ for (int i = 0; i < 1000000000; i++) { } }
>とかって、なつかしいな、20年ぐらい前には待つ手段がなくて時々見かけたが。
うるさいよヽ(`Д´)ノウワァァァン
ただスリープと実行処理待ちは本質的に違う。まぁ、そんなことわかってると思うけど。
この場合、重い処理によって表示がどうなるかという点においてとだな、
バッファについて調査しておきたかったので、for文の中でテストでresponse.write
してたんだよヽ(`Д´)ノウワァァァン

と言い訳してみる(・∀・)ニヤニヤ
0535521NGNG
>>528>>532
ありがとうございます。
早速試してみます。
0536nobodyさん2006/04/23(日) 18:23:06ID:???
とりあえず最近ASP.NET2.0をはじめようとして、わけが分からなくなった人
VWD2005をダウンロードして、何かをはじめようとしている人は
これを読むことだね。 待望の日本語入門書だ。
ttp://www.friendlysw.com/books/asp20/asp20Intro.aspx
■ このスレッドは過去ログ倉庫に格納されています