[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 10/17 05:12 / Filesize : 262 KB / Number-of Response : 797
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:nobodyさん mailto:sage [2009/01/23(金) 09:46:51 ID:???]
●過去ログ
Part1 - 【質問】 ASP.NETスレ 【議論】
pc5.2ch.net/php/kako/1040/10406/1040698263.html
【質問】ASP.NETスレ Part2【議論】
pc8.2ch.net/test/read.cgi/php/1111480331/
【質問】ASP.NETスレ Part3【議論】
pc11.2ch.net/test/read.cgi/php/1160355849/
【質問】ASP.NETスレ Part4【議論】
pc11.2ch.net/test/read.cgi/php/1184683786/ (dat落ち?)

あんまり需要ないのかもしれませんが。。。

383 名前:nobodyさん mailto:sage [2009/05/27(水) 13:07:41 ID:???]
>>378
設定してすぐにテーブルを開くと表示されてるのは、
全部のフィールドがNULLになってると思うけど、
これは新規に行を追加するところだから

何かしらを入力(ID以外のデータ)してenterキーを押して決定すると
新しい行がデータベースに追加され、IDが表示される

384 名前:nobodyさん mailto:sage [2009/05/27(水) 13:09:52 ID:???]
>>381
わかんないけど、日付を表示させようとすると、
そういうエラーが発生するんだよ

ソースを表示するとGridView内にタグにdbtype="date"みたいな
表示がかかれてるところがあるから、そのdateをdatetimeにすると
正常に表示される。

編集や削除を許可してるなら、その数のぶんだけあるから
複数修正すること

385 名前:nobodyさん mailto:sage [2009/05/27(水) 13:33:53 ID:???]
>>384
できました!なじゃこりゃw

ありがとうございます!バグなんですかねこれって?

386 名前:nobodyさん mailto:sage [2009/05/27(水) 13:40:46 ID:???]
DB側の仕様が変わったのについてこれないんだろうぁ

387 名前:nobodyさん mailto:sage [2009/05/27(水) 14:08:08 ID:???]
>>385
IME ga kowareta ze ww
tabunn kono fix program jya ne?
install shitara kekka houkoku plz

connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=17185

388 名前:nobodyさん mailto:sage [2009/05/27(水) 21:23:09 ID:???]
あなるせっくすしたい

389 名前:nobodyさん mailto:sage [2009/05/28(木) 17:38:31 ID:???]
すみません。あちこちググってもわかりませんでした。天才様、お願いします。

asp.net(1.1)webサイトAがあります。
これは現在順調に動いています。
アプリケーションルートはwwwrootにあります。

ところが、このサイトを携帯サイトにも対応させようということになり
wwwroot直下にmovileというアプリケーションを登録し、元のサイトのコードをすべてコピーしました。
現在はまだここまでで、携帯にhtmlをコーディングし直しているわけではなく、PCで閲覧してテスト中です。

データベースからのデータを得る部分はwwwroot直下の別アプリケーションwevserviceを参照しています。
これはコピー元、コピー先ともに同じです。

ところが、単なるポストバックプログラムは動くようになったのですが、wevseervicceを参照している部分だけ

>>System.Net.WebException: 操作がタイムアウトしました。

エラーが出ます。web.configはすべてコピー元と同じ設定にしてあるのですが、movileアプリケーションだけが
エラーを出します。
どこかに同一サーバー内の別アプリを区別するセキュリティやタイムアウトの設定があるのでしょうか?

ヒント、誘導でもいいのでお願いします。

390 名前:nobodyさん [2009/05/28(木) 17:53:13 ID:wAV+Bwsc]
すみませんageさせていただきます。レスお願いします。

391 名前:nobodyさん mailto:sage [2009/05/28(木) 18:43:17 ID:???]
わかんないけど、単にディレクトリ掘っただけならweb.configまでコピーする必要ないんじゃないのかな

IISサービスマネージャ(スナップイン?)で、新たなアプリケーションを追加(仮想ディレクトリの追加?)を
追加して新しいサイトとしてやってみるのは試してみた?

どこで処理が止まってるかデバッグで確かめて、
その接続がなんでいかないかを考えたほうが早いようなきもするけど。

あとmovileじゃなくてmobileね



392 名前:nobodyさん [2009/05/28(木) 19:08:30 ID:wAV+Bwsc]
>>391
ありがとうございます。
web.configをコピーしたのには、将来的にcookieless=trueとして携帯サイトとしてクッキー対策するためと
ログイン画面への遷移を指定するためで、どちらもアプリケーションルートのweb.configのみという制約があるのです。

処理が止まっているのはwebサービスの応答待ちです。
webサービス側はまったくリクエストが届いていない感じです。
サーバー内には目立ったエラーログはありません。

393 名前:nobodyさん mailto:sage [2009/05/28(木) 19:13:32 ID:???]
なので、一つ一つ試してみたら?
web.configがなかったらどうかとか、
webサービスがなんで動作しないのか、
可能性を一つ一つ試して排除してみるしかないと思う。

asp.net 1.1 とwebサービスの特有の何かしらの症状なら、
あまり利用したことがないから想像がつかないけど。

394 名前:nobodyさん [2009/05/28(木) 19:21:36 ID:wAV+Bwsc]
>>393
ありがとうございます。

なるほど!テストしてみます!

395 名前:nobodyさん mailto:sage [2009/05/28(木) 19:27:17 ID:???]
>wwwroot直下にmovileというアプリケーションを登録し、元のサイトのコードをすべてコピーしました。
>データベースからのデータを得る部分はwwwroot直下の別アプリケーションwevserviceを参照しています。
ああ、別アプリに登録してるのか。
それだと、webserviceが共通で利用できない可能性ってないのかな?

俺が勘違いしてるね。スマン


396 名前:nobodyさん [2009/05/29(金) 02:19:51 ID:DlIDf9OB]
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Debug.WriteLine(Session.SessionID)

End Sub


↑のように書いてページにボタンを置いてポストバックしてみると、毎回違う値が出力される。
SessionIDってそういうものなの?
セッションIDなんて名前なんだから同一セッションの場合は同一の値が返ってくるものと思ってた。

397 名前:nobodyさん mailto:sage [2009/05/29(金) 03:05:08 ID:???]
>>396
同じだよ
クッキーが無効になってる
とか
support.microsoft.com/default.aspx?scid=kb;ja;316112
とか

398 名前:nobodyさん mailto:sage [2009/05/29(金) 08:10:07 ID:???]
Calenderを使って日付けを入力することは簡単にできるのですが、例えば
TextBoxに「2001/6/1」と入力して、それをカレンダーに反映させるにはどうすればよいのでしょうか?

今月じゃない日付を選ぶ場合、月をクリックして前月、前月と繰り返し再表示させなくてはならず、
年月日をダイレクトで指定し、そのカレンダー上に日付に関連する情報を表示(日付を赤バックにする)し
内容を確認できるようにしたい。
最終的に日付の入力はDropDownListで入力する予定です。

399 名前:nobodyさん [2009/05/29(金) 11:09:25 ID:I+rUeGmY]
>>395
いえいえ、とんでもありません。
>webserviceが共通で利用できない可能性
やはりことあたりが疑わしいので、webサービスに接続しているアカウントなどを
追ってみたいと思います。

400 名前:nobodyさん mailto:sage [2009/05/29(金) 14:01:33 ID:???]
>>398
DateTime dateTime;
if (DateTime.TryParse(this.TextBox1.Text, out dateTime))
 this.Calendar1.VisibleDate = dateTime;



401 名前:nobodyさん mailto:sage [2009/05/29(金) 23:31:08 ID:???]
>>163
もう解決済みかもしれんが、亀レスしておく。ASP.NET のワーカー
プロセスは以下のタイミングで再起動する。
・Web.config や Machine.config の更新
・bin 以下のコンテンツの変更(アセンブリ)
・*.aspx 等のコンテンツの変更多数
・なんか具合が悪い時(ぴゅう!)
よって、InProc モードを使っているとタイムアウトしていないのに
データが失われるという不可解な現象に悩まされることになる。
これがデフォルトの動作モードというのはもはや犯罪。いくら速くても
データがロストするんじゃね。

ということで、Session に重要なデータ保存するなら、InProc を使っては
いけない。つまり、ASP.NET 2.0 以降を使うべき。ただ StateServer などを
使う場合には Session に格納するオブジェクトに Serializable 属性が必要
になるので要注意。



402 名前:nobodyさん mailto:sage [2009/05/30(土) 00:27:53 ID:???]
>>401レスどうもです。

原因は、>>241でして、
どうしようもない状態です。
iis 8007006dでググルと事例は
やたら出るが、対処方がみつからないです。

InProcを利用すべきでない等も
理解しているのですが
変えられない状況です。


403 名前:nobodyさん mailto:sage [2009/05/30(土) 00:32:22 ID:???]
InProcでないといけない理由って?


404 名前:nobodyさん mailto:sage [2009/05/30(土) 00:37:39 ID:???]
複数部署のアプリが混在している
1つのプロジェクト構造の為、
自部署のアプリのみをソースレベルで
慎重に分離して、StateServer対応の為、
シリアライズの部分を慎重に見直して、
全再テストする工数が莫大だからです。



405 名前:nobodyさん mailto:sage [2009/05/30(土) 00:47:53 ID:???]
セッションを他の部署でも使ってるっから自分のとこだけでは変更できないてこと?
あれから18日も経ってるけど解決できてないんだね。ご苦労様です。

サーバの再インストールとかやってみた?
どっちにしても、そのままだとシステムとして成り立たないから、
何が原因か、サーバなのか、プログラムなのか、
結果的に全部署で再テストする必要が出てきそうだね。カワイソス

www.google.co.jp/search?hl=ja&q=
World+Wide+Web+%E7%99%BA%E8%A1%8C%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%A7%E8%87%B4%E5%91%BD%E7%9A%84%E3%81%AA%E9%80%9A%E4%BF%A1%E3%82%A8%E3%83%A9%E3%83%BC%E3%82%92%E6%A4%9C%E5%87%BA%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82+&btnG=
Google+%E6%A4%9C%E7%B4%A2&lr=&aq=f&oq=

406 名前:nobodyさん mailto:sage [2009/05/30(土) 01:25:38 ID:???]
>>402
iis 8007006d でぐぐると、日本語では1件しか表示されない
MSのサポート情報の機械翻訳で日本語があれだが、エラーの原因が書いてある
そこに書いてある対処方法は当然ためしたか、該当しないか確認したんだよな?


407 名前:398 mailto:sage [2009/05/30(土) 04:44:22 ID:???]
Protected Sub Calendar1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Calendar1.SelectionChanged
 'カレンダーの日付を選択すると、「選択した日付」を表示(確認)
 lblSelectedDay.Text = Calendar1.SelectedDate.ToShortDateString
End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
 'ページロード初回のとき、「今日の日付」を表示
 If Not IsPostBack Then
  lblToday.Text = DateTime.Now.Date.ToShortDateString
 End If
End Sub

Protected Sub btnChandeDay_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles btnChandeDay.Click
 '「日付変更」ボタンをクリックしたとき、「今日の日付」を表示
 Calendar1.VisibleDate = Convert.ToDateTime(txtInputDay.Text)
 lblChangedDay.Text = txtInputDay.Text                   '入力した日付をラベル表示(確認)
 lblChangedDay2.Text = Calendar1.SelectedDate.ToShortDateString '選択した日付をラベル表示
End Sub

という感じで作ってみました。
extBoxに「2001/6/1」と入力して、それをカレンダーに反映させる、については
>Calendar1.VisibleDate = Convert.ToDateTime(txtInputDay.Text)
によって該当月のカレンダーが表示されますが、日付の選択状態が実行されません。
指定した日付を選択状態にするにはどうすればよいのでしょうか?

408 名前:nobodyさん mailto:sage [2009/05/30(土) 05:15:58 ID:???]
>>407
>指定した日付を選択状態にするにはどうすればよいのでしょうか?
普通にCalendar1.SelectedDateにセットすればいいだけの気がするんだが、
これって読み取り専用か?

409 名前:nobodyさん mailto:sage [2009/05/30(土) 06:09:32 ID:???]
そんだけ動いてるってことはサーバの負荷が大きくなってプロセス再起動してる感じかなぁ…
ロードバランサ使って負荷分散するとかしないと厳しそうな気もするけど・・・
監視ソフトでも入れて負荷みないとなんともいえん

410 名前:nobodyさん mailto:sage [2009/05/30(土) 06:17:21 ID:???]
Calendar1.VisibleDate = Convert.ToDateTime(txtInputDay.Text)
Calendar1.SelectedDate = Convert.ToDateTime(txtInputDay.Text) ←追加
lblChangedDay.Text = txtInputDay.Text
lblChangedDay2.Text = Calendar1.SelectedDate.ToShortDateString

>Calendar1.SelectedDate = Convert.ToDateTime(txtInputDay.Text)
を追加したら上手くいきました。ありがとう!

411 名前:nobodyさん mailto:sage [2009/05/30(土) 07:12:47 ID:???]
>これがデフォルトの動作モードというのはもはや犯罪。いくら速くても
>データがロストするんじゃね。

むしろデータがロストしても致命的にならないくらい
セッションをできるだけ使わないのがおすすめだけどな。
おれはセッションにはせいぜいリダイレクトの瞬間のやりとりデータしか入れないぜ。




412 名前:nobodyさん mailto:sage [2009/05/30(土) 11:10:13 ID:???]
データの受け渡しをするにしても、必ずSerializableなクラスを渡すようにするのがいいね
設計段階で、Selializableな基底クラスを用意して、それを継承したクラスのメンバ変数で
値を持つようにして、それをsessionで受け渡しすればいい。
InProcで問題が発生してStateServerの利用になっても問題無く移行できる。

413 名前:nobodyさん mailto:sage [2009/05/30(土) 11:48:58 ID:???]
Serializable属性は継承されません

414 名前:nobodyさん mailto:sage [2009/05/30(土) 11:53:13 ID:???]
ん、そうなの?
継承クラスでそのままSerializableできたけどなんでだろう?

415 名前:nobodyさん mailto:sage [2009/05/30(土) 12:56:14 ID:???]
>>413
Silializerだと駄目だね
SessionとかだとSerializable属性なしでも通るのか。
知らなかった。サンクス!


416 名前:410 mailto:sage [2009/05/30(土) 14:29:16 ID:???]
MasterPage上の表の左コラムに、>>407,410で作ったカレンダーを貼り、
日付を選択したら、表の右コラムのContentPlaceHolder1に関連情報(Result.aspx)を表示する。

というのを作成しました。
Server.Transfer("Result.aspx?targetDay=" + Calendar1.SelectedDate.Date)
これで対象となる日付を引き渡し、該当する関連情報を表示するところまでできたのですが

なぜかカレンダー表示がその都度初期値(今日の日付を含む月)に書き換えられてしまいます。
選択した日付を含む年月のカレンダーを表示し、且つ選択した日を選択表示にするには
どうすればよいですか?

417 名前:nobodyさん [2009/05/30(土) 14:45:21 ID:yVbH19hK]
もう、やりたいこと全部コメントに書いてプロジェクトごとアップロードしたら?
俺は落とさないけど。

418 名前:nobodyさん mailto:sage [2009/05/30(土) 15:27:24 ID:???]
よくわからんけどVBって日付の妥当性チェック無しでConvertしても許されたり
stringにDateTime突っ込んだりしても推測して型変換してくれるの?

419 名前:nobodyさん mailto:sage [2009/05/30(土) 15:37:08 ID:???]
普通にブラウザの戻るボタンで戻ると、ちゃんと日付が反映されてるよ
戻るボタンでもAJAX使ってると今日の日付にもどっちゃうけど

ただ単に同じページに戻っただけなら、初めてページを表示させるのと同じだから
表示の日付も今日の日付になってるというのは当たり前の話。
日付を選択して違うページに移動し、再び日付選択ページに戻った時、
その日付を維持したいのなら、セッションかクッキーを使用するか、
GETかPOSTで日付データを渡して値を設定するしかない。

420 名前:410 mailto:sage [2009/05/30(土) 16:12:33 ID:???]
MasterPage

 表左コラム   | 右コラム
          | 
 カレンダー   | 該当年月日に属する情報
 Calendar.ascx | Result.aspx

こんな感じで、カレンダーで選んだ日付に属する情報を表の右コラムに表示する。

Server.Transferを使うことで、選択した年月日の情報を表示することはできました。
ところがResult.aspxが表示された瞬間、Calendar.ascxのカレンダーが初期年月に戻ってしまう。

カレンダー上に、右コラムで表示された情報の日付が選択された該当月が表示されたままにしておいて
同月の前後その他の情報を続けて表示確認したい。

マスターページに共通の見た目のデザインを設定し、この上で
Webユーザーコントロールから必要な項目を選択し、Webフォームに見たい情報をデータベース検索し表示する。
みたいなことができるような仕組みを作ろうかと思っています。

421 名前:nobodyさん mailto:sage [2009/05/30(土) 16:47:09 ID:???]
マスターページとかめんどくさそうだなw



422 名前:nobodyさん [2009/05/30(土) 17:07:38 ID:yVbH19hK]
>>420
ちょっと危険なコーディングだがMasterPage側での処理ということで。
ttp://teke348.dyndns.tv/src/up8781.zip

カレンダーなんて、そのうち「ある場合ではこうで、そうでない場合はこう」
とか色々制限がつきやすいものだから、それ自体をユーザーコントロールにした方が吉。

423 名前:nobodyさん mailto:sage [2009/05/30(土) 20:25:01 ID:???]
>>422
優しいね
ソース眺めて(・∀・)ニヤニヤしようかな(・∀・)ニヤニヤ

424 名前:nobodyさん mailto:sage [2009/05/30(土) 20:35:56 ID:???]
(・∀・)ニヤニヤしようと思ったらVBだからよくわからんかったわw

425 名前:nobodyさん mailto:sage [2009/05/31(日) 03:44:11 ID:???]
フォーム認証のメリットって何?ベーシック認証じゃ駄目なん?
認証受けずにページを表示しようとしたら指定のページに強制的に飛ばされる、つーのは
便利だと思うけど。

426 名前:nobodyさん mailto:sage [2009/05/31(日) 04:17:10 ID:???]
認証方法はユーザIDとパスワードの組み合わせだけだと思うか?

427 名前:nobodyさん mailto:sage [2009/05/31(日) 14:48:59 ID:???]
ベーシック認証に他のやり方があるかどうかわからないけど、
Windowsのアカウントユーザを追加してIDとパスを設定しなくちゃいけないから面倒だからじゃない?
apacheとかでも動的に.htaccessとかにユーザを追加管理しなきゃいけなから
面倒だったと記憶してるんだけど。
フォーム認証ならデータベース等を利用して動的にユーザの追加や削除ができるでしょ。



428 名前:nobodyさん mailto:sage [2009/05/31(日) 17:35:56 ID:???]
まあ、ASP.NET側で自分で独自に処理してやれば、BASIC認証でも自由にやれる。
けどわざわざやる価値はあんまりないわな。


429 名前:410 mailto:sage [2009/06/01(月) 17:45:43 ID:???]
>>422
どうもありがとうございます。
MasterPageに複数のWebコントロールを載せて、結果をDefoult.aspxに表示するというコンテンツを作ると、
Sessionを使うと煩雑になるのと、時系列的にPageを切り替えていくのならOKですが、それぞれの
Webコントロール(上のデータ表示)に、同時に反映させるのが難しいかと思いました。

結局、MasterPage画面に配したWebコントロールページに同時にServer.Transferを送ることで
画面上のデータをすべて同期させることができることが解りました。
VIEWSTATEが少し冗長となりましたが。

またアドバイスお願いします。

430 名前:nobodyさん mailto:sage [2009/06/02(火) 22:10:04 ID:???]
>>418
int型へのキャストで以下が成立する言語
CInt("+2,7,42,4,6,") = 274246
#全角は入力間違いをしている訳ではない

431 名前:nobodyさん mailto:sage [2009/06/02(火) 23:17:26 ID:???]

まぢかw



432 名前:nobodyさん mailto:sage [2009/06/04(木) 17:26:18 ID:???]
参考書で練習問題やってたらAdventureWorksってのが出てきたんだけど
自分で設定汁って書いてあるんだけど、なにこれ?

433 名前:nobodyさん mailto:sage [2009/06/04(木) 18:33:57 ID:???]
マイクロソフトが配布してるデータベースのサンプル

434 名前:nobodyさん mailto:sage [2009/06/10(水) 14:01:06 ID:???]
質問です。1つのイベントを複数のイベントハンドラに対応付ける事は出来るでしょうか?

ネットで探していると
「1つのイベントハンドラを複数のイベントに対応付ける」
というのは沢山出てくるのですが、逆は見つけれません。
そもそも無茶な事しようとしているのでしょうか?

具体的にはボタンがクリックされた時にイベントを2つ呼び出したいといった感じです。

435 名前:nobodyさん mailto:sage [2009/06/10(水) 17:51:41 ID:???]
イベントハンドラ内から新しいイベント投げてやればいいんじゃね

436 名前:nobodyさん mailto:sage [2009/06/10(水) 18:17:32 ID:???]
>>434
こういうこと?

protected void Page_Load(object sender, EventArgs e)
{
 this.Button1.Click += this.Button2_Click;
 this.Button1.Click += this.Button3_Click;
}

protected void Button2_Click(object sender, EventArgs e)
{
}
protected void Button3_Click(object sender, EventArgs e)
{
}


437 名前:nobodyさん mailto:sage [2009/06/10(水) 18:42:20 ID:???]
ヒント:オブザーバー

438 名前:nobodyさん mailto:sage [2009/06/10(水) 18:52:20 ID:???]
デザインパターン使って自分で定義せんでも、.Clickに+=すればいいやんw

439 名前:nobodyさん mailto:sage [2009/06/10(水) 20:41:28 ID:???]
>>435, >>436,
やっぱそうなりますよね。
javascriptだと、onclick="hoge();piyo();" みたいな書き方が出来た気がするので、
そういう単純な方法無いかな〜と思ったんです^^;

>>437, >>438,
そいうデザパタがあるんですね〜勉強してみたいと思います。

440 名前:1/2 mailto:sage [2009/06/10(水) 21:06:01 ID:???]
質問です
コードビハインドで組んでいるのですが、コンテナの使い方がいまいちわかりません
csファイル1
public class Jouhou{
 private int suuji;
 private string moji;
 public Jouhou(int suuji,string moji){
  this.〜〜
 }
 public setget〜〜〜  
}

CSファイル2
public class Dousa{
protected System〜〜.Repeater rpt;
 private void Page_Load(〜〜){
  List<Jouhou> joho=new List<Jouhou>();
  joho.add(〜〜); x3とか
  this.rpt.DataSource=joho;
  this.rpt.DataBind();
 }
 
 protected string hoge(string moji){
  return moji;
 }
}

ascxファイル
<asp:Repeater〜ID="rpt"〜〜〜>
 <ItemTemplate>
  <%# DataBinder.Eval(Container.DataItem, "moji") %>←正常にLiteralが作成されて、表示される
  <asp:Literal ID〜〜〜〜 Text="hoge(DataBinder.Eval(Container.DataItem, "moji"))">←エラーが出る(エラーは不明)

441 名前:2/2 mailto:sage [2009/06/10(水) 21:09:12 ID:???]
つまりRepeaterにはきちんとデータはバインドされていて、mojiとかが正常に以降しているのに、
メソッドに値を送り込もうとすると失敗します。
例えば、
<asp:Literal ID〜〜〜〜 Text="hoge("aaaa")">
とすればきちんとaaaaが返ってきます

やりたいことは、repeaterの中のデータを一旦検証メソッドに送って、その結果を返したいです。
どなたかアドバイス頂けないでしょうか?




442 名前:nobodyさん mailto:sage [2009/06/10(水) 23:18:50 ID:???]
>>441
なんかこんなんつくってたわ
昔作ったから意味は忘れた

<asp:TextBox ID="TextBox" Text='<%# this.GetColumnData(Container, "Data") %>' runat="server"></asp:TextBox>

protected string GetColumnData(RepeaterItem repeaterItem, string columnName)
{
 object columnData = DataBinder.Eval(repeaterItem.DataItem, columnName);
 string returnData = "";
 if (columnData is string)
  returnData = (string)columnData;
 else if (columnData is int)
  returnData = ((int)columnData).ToString();
 else if (columnData is decimal)
  returnData = ((decimal)columnData).ToString();
 else if (columnData is DateTime)
  returnData = ((DateTime)columnData).ToString("yyyy/MM/dd");

 return returnData;
}

443 名前:nobodyさん mailto:sage [2009/06/10(水) 23:23:30 ID:???]
>>442
ありがとうございます!
さっそくそれを参考にいろいろ調べてみます

444 名前:nobodyさん mailto:sage [2009/06/12(金) 09:14:01 ID:???]
すみません。初心者なのですが
皆さんのお知恵をお貸し下さい。

現在、ASP.NETでWEBアプリの勉強をしているのですが
SQLサーバーに、バイナリー形式で保存してある
画像を加工してから出力したくて
BITMAPクラスを使用すればいいことまでは分かったのですが
データベースから取り出した、バイナリーデータを
どうやってBITMAPクラスに入れればいいのか、分からず四苦八苦しています・・・
分かる方からすれば、くだらないかも知れませんが、教えてください。><

Dim image As Bitmap

Dim writeStream As Byte() = New Byte(record.Item(0).toByteArray.Length - 1) {}
System.Buffer.BlockCopy(record.Item(0).toByteArray(), 0, writeStream, 0, record.Item(0).toByteArray.Length)

image = New Bitmap(writeStream)

これだとエラーになっちゃうんです><


445 名前:nobodyさん mailto:sage [2009/06/12(金) 17:26:51 ID:???]
>>444
//MSSQLからバイナリデータの取得 varbinary(MAX)
TestDataSetTableAdapters.TestTableTableAdapter tableAdapter =
 new TestWindowsForms2008.TestDataSetTableAdapters.TestTableTableAdapter();
TestDataSet.TestTableDataTable dataTable = new TestDataSet.TestTableDataTable();
tableAdapter.Fill(dataTable);

//MemoryStresmにMSSQLから取得したbyte[]データを格納 行が無かった場合のチェックする必要あり
MemoryStream ms = new MemoryStream(dataTable[0].BitmapData);
//Bitmapのインスタンスを生成
Bitmap bitmap = new Bitmap(ms);

//BitmapのインスタンスをImageプロパティに設定
this.pictureBox1.Image = bitmap;


446 名前:nobodyさん mailto:sage [2009/06/12(金) 17:29:16 ID:???]
格納する側

//Bitmapインスタンスの生成とbitmapデータの取得
Bitmap bitmap = new Bitmap("test.bmp");
//BitmapデータをMemoryStreamに読み込む
MemoryStream ms = new MemoryStream();
bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);

//Bitmapデータを格納するTableのインスタンスの生成
TestDataSetTableAdapters.TestTableTableAdapter tableAdapter =
 new TestWindowsForms2008.TestDataSetTableAdapters.TestTableTableAdapter();
TestDataSet.TestTableDataTable dataTable = new TestDataSet.TestTableDataTable();
tableAdapter.Fill(dataTable);

//新しい行の作成と、バイナリデータの設定
TestDataSet.TestTableRow row = dataTable.NewTestTableRow();
row.BitmapData = ms.ToArray();
dataTable.Rows.Add(row);

//Tableの更新
tableAdapter.Update(dataTable);

447 名前:nobodyさん mailto:sage [2009/06/12(金) 18:11:28 ID:???]
>> 445
ありがとうございます。
無事解決できました。
本当にありがとうございました

448 名前:nobodyさん mailto:sage [2009/06/14(日) 03:05:11 ID:???]
ASPのころ、本当にVBSでできることぐらいしかできなくて苦労したけど
ASP.NETになってから、画像も加工できるし、メールも送れるし、FTPも簡単だし、
FileSystemObjectも簡単になってるし、日付計算も簡単になってるしで、
本当に便利になったよね

BASP21すげーーーーーーとかいって使ってたのを思い出したよ

449 名前:nobodyさん mailto:sage [2009/06/15(月) 15:22:19 ID:???]
レイアウトの自由度のためだけに、一意なレコードしか選択されなくても
Repeater使ってるんだけどおかしい?
FormViewはHTMLに展開されるときにデフォルトでtableタグが生成されるのが
いただけない。ちなみに.net framework2.0限定。

あとデザイナ画面でRepeaterコントロールがデフォで5行表示されるのもなんとか変更したい。
<HeaderTemplate>だけだとItemTemplateが無い場合、表示されないし・・

450 名前:nobodyさん mailto:sage [2009/06/15(月) 15:36:10 ID:???]
>>449
そこまで文句言うならデザイナにでもパネル突っ込んでガリガリループでHTMLとかコントロール突っ込んでいけば?

451 名前:nobodyさん mailto:sage [2009/06/15(月) 19:19:29 ID:???]
>>449
Item5個だけのクラスを新たに作って、リピーターに突っ込めばいいだけなんじゃないの?



452 名前:nobodyさん mailto:sage [2009/06/15(月) 21:15:04 ID:???]
そんなの自由自在
ASP.NET サーバコントロールプロジェクトで自作でhtmlを生成して表示してもいいし、
ユーザコントロールにLiteralコントロールを設置して自分でhtml出力すればいい

>あとデザイナ画面でRepeaterコントロールがデフォで5行表示されるのもなんとか変更したい。
何行表示されても構わないように設計(デザイン)する必要があるわけだから、
極端に言えば何行の表示でも別にいいでしょ
<ItemTemplate>がなければ複数行の動的な生成が難しいんだから一般的には必要ないかと

453 名前:nobodyさん [2009/06/15(月) 21:32:48 ID:Ovw0FDNW]
Visual Web Developer 2005 Express Edition質問です。
PlaceHolderの中にコントロールをドラッグ&ドロップしたいんですけど、
プレースホルダーを配置して、この上にドラッグドロップしてみたんだけど無理でした。
どうやるの?

454 名前:nobodyさん mailto:sage [2009/06/16(火) 02:03:02 ID:???]
たぶんやりたいこととか目的とズレてるような気がするけど、
単にPlaveHolder内にタグを配置したいならデザインビューに切り替えて

<asp:PlaceHolder ID="PlaceHolder2" runat="server">

</asp:PlaceHolder>

の※の部分にコントロールをポトペタすればコントロールが配置できる
でも本来、PlaceHolderは実行時にコントロールを生成するコンテナとしての役割が大きいので、
単に配置するだけとか、配置して一斉に非表示にしたいとか目的なら
Panelとか使ったほうがいいと思う。

455 名前:nobodyさん mailto:sage [2009/06/16(火) 20:27:08 ID:???]
>>454
ありがとうございます!!!!!多謝です!

デザインビュー上ではやっぱりできないのですね
自分のはFreeのツールだから禁止させられているのかと思いました。

やりたいことは、タブみたいに、ボタンをおしたら、違う画面になる(でも同じWebフォームで処理したい)
みたいな事です。
なので、パネルでやります。

m(_ _)m

456 名前:nobodyさん mailto:sage [2009/06/16(火) 21:10:44 ID:???]
>>455
ある特定の一部分だけ非表示にしたり、表示したりするならPanelでもいいけど、
ごっそり変えるなら、MultiViewとViewを使ったほうがわかりやすい

一つのaspxで、入力フォーム→入力確認ページ→実際に登録みたいなこともできるよ
PostBackが仕様のASP.NETだと、そういうのに2枚のaspxが必要だと思ってる人もいるみたいだけど

457 名前:nobodyさん mailto:sage [2009/06/16(火) 21:45:59 ID:???]
>>456
たびたびありがとうございます!!!!!
さっそくMultiViewにします!

458 名前:nobodyさん mailto:sage [2009/06/21(日) 11:03:39 ID:???]
本番機と開発機でweb.configが違うんだけど、上手い管理の仕方無いかな。
いつか間違えてしまいそうで怖いんだが。

459 名前:nobodyさん mailto:sage [2009/06/21(日) 15:17:48 ID:???]
>同じ名前 (Web.config) の複数の構成ファイルを、ASP.NET の
>Web アプリケーション サーバーの複数のディレクトリに置くことができます。
>各 Web.config ファイル内の構成設定 (IIS 認証の設定など) は、
>それぞれのディレクトリ内のソース ファイルに適用されます。

>Web プロジェクトでは、既定の Web.config ファイルの設定に優先する、
>カスタムの構成ファイル (mysettings.config など) を作成できます。
>チーム開発環境では、カスタムのファイルを作成することが必要になる場合があります。
>カスタム構成ファイルの作成が必要となる状況、
>特に共有プロジェクト開発時の必要性の詳細については、
>「Web 参照、Web プロジェクト、およびソース管理の統合」を参照してください。
>Web プロジェクトの場合、ソース管理に追加する必要がある *.config ファイルは、Web.config だけです。

msdn.microsoft.com/ja-jp/library/aa290084.aspx

とか?

460 名前:nobodyさん mailto:sage [2009/06/21(日) 15:19:15 ID:???]
あとは、やったことないけど、
FTPとかでの更新ならweb.configだけ異なる権限にしておいて、
勝手に書き換えられないようにしておくとか、そんなんはできないのかな

461 名前:nobodyさん mailto:sage [2009/06/21(日) 15:35:33 ID:???]
>>458
ウチの場合は、web.config.dev とか、web.config.release 等の名前で
複数の web.config を用意している。自動デプロイスクリプトを組んでる
ので、その中でデプロイ先の環境を判別して web.config にコピってる。
まあ、普通だな。手作業はとにかく排除するのが基本じゃね。



462 名前:458 mailto:sage [2009/06/21(日) 23:22:51 ID:???]
レスありがとう。
>>460
これはちょっと楽そうだ
読み取り専用属性つけて試してみる。

>>461
だね。ちょっと手を抜いて手作業でしてたけど、後々を考えると
しっかりやった方がいいよね。
XCOPYでゴソってやって、最後にweb.configだけ上書きって
流れだけか。
思考停止してたけど、なんも考える事無かったな。

ありがとう。

463 名前:nobodyさん mailto:sage [2009/06/24(水) 19:17:16 ID:???]
俺は毎回コピーした後にweb.config手作業で書き換えてる
たまに書き換え忘れることもあるがw

web.configに設定する内容を、本番と開発で、全く同じにするか、
間違えると動かない設定にしてるので、書き換えないと本番が動かないようにしてる
一番困るのは、書き換え忘れで本番が変な設定で動くことだからな

464 名前:nobodyさん mailto:sage [2009/06/24(水) 21:51:34 ID:???]
開発環境と本番環境でweb.configが違うってのは、どういう場合とか?
そういうときはディレクトリ分けして、ディレクトリごとにweb.configを統一しといたほうがいいと思うんだけど

465 名前:nobodyさん mailto:sage [2009/06/24(水) 22:53:08 ID:???]
>>464
appSettings とか connectionStrings は結構違うでしょ。あとは認証、
ログ設定、例外発生時の挙動なんかも変えたくなると思うけど。

466 名前:nobodyさん mailto:sage [2009/06/24(水) 23:04:24 ID:???]
>>464は何か意図を勘違いしてると思うのだよ


467 名前:nobodyさん mailto:sage [2009/06/24(水) 23:58:39 ID:???]
>>465
それってディレクトリごとにかえられになかったっけ?

468 名前:nobodyさん mailto:sage [2009/06/25(木) 01:32:47 ID:???]
ディレクトリ毎にweb.configは設定できるはず(やったことない)だけど、
問題はその中身を書き換えなきゃいけない、ってことだと思うんだが。
>>465が書いてる通りのものは結構書き換えなきゃいけない
と思うんだけど。

469 名前:nobodyさん mailto:sage [2009/06/25(木) 17:13:04 ID:???]
UpdatePanel の中にラベルとボタンがあります。

ボタンが押されたら、とある PDFファイル をクライアントに attachment として投げつけて
ラベルの文字を「投げたお」と書き換えたいです。(UpdatePanelの更新)

ですが、UpdatePanel の中では PDF をクライアントに投げつける、ということが出来ないみたいです。
何か良い策はないでしょうか。

インテルのWebサイトとかでは、ファイルの投げ付け&画面遷移を同時にやってるやつがありますが
どんな仕組みなんでしょう・・・(そこにヒントがある気がしてます)

470 名前:nobodyさん mailto:sage [2009/06/25(木) 17:55:06 ID:???]
ボタンクリックで新規ブラウザを立ち上げてPDFをダウンロードさせ、
UpdatePanelで表示してあげればいいんでね?


471 名前:nobodyさん mailto:sage [2009/06/25(木) 18:00:53 ID:???]
>>468
これとか?

social.msdn.microsoft.com/forums/ja-JP/aspnetja/thread/13d412a8-4416-429e-909e-0af88b528c16



472 名前:nobodyさん mailto:sage [2009/06/25(木) 21:32:10 ID:???]
>>471
し、しらんかった・・・
これは便利そうだ。設定変えたいとこだけ全部外だし
出来そうだなー。
結論としては「ディレクトリ毎」っていうのが、実は
「configファイルを分割」っていう意味だったってこと?
だから「web.config書き換えるっていつだよ?」みたいな
話になってたって事?

まぁどっちでもいいが、良いこと知った。トンクス。

473 名前:nobodyさん mailto:sage [2009/06/26(金) 00:25:17 ID:???]
configSourceはweb.configと同じく更新が即反映されるので
大抵のもんはappSettingに突っ込んで分離してる

474 名前:nobodyさん mailto:sage [2009/06/26(金) 05:38:12 ID:???]
そして今度は外だししたファイルを上書きするわけですね


475 名前:nobodyさん mailto:sage [2009/06/26(金) 11:36:26 ID:???]
>>474
これは?

location 要素は、ASP.NET 構成 API を使用することによりプログラムから設定できます。また、ASP.NET MMC スナップインの [場所] タブを使用して設定することもできます。
msdn.microsoft.com/ja-jp/library/ms178692.aspx

476 名前:nobodyさん mailto:sage [2009/06/26(金) 17:43:41 ID:???]
>>465
それはweb.configの指定を特定のパスに限る設定だろ

今問題になってるのは
環境を設定するファイルがあって、本番のそのファイルを開発環境のファイルで上書きすること

で、>>471の方法では、結局上書きする(=書き換える必要がでる)ファイルが
web.configからconnection.config(とか任意のファイル)に変わるだけで
結局上書きしないようにするとか手作業で書き換えるとかする必要がでるんじゃないか、ってのが>>474の主張

web.configから任意のファイルになるだけ判りにくくて混乱の元になる気がするぜ


477 名前:nobodyさん mailto:sage [2009/06/26(金) 19:00:22 ID:???]
>>476
location要素をプログラムから設定できるんなら
環境(サーバ名とか)によって任意のファイルを指定できるんでないのかなと思って。

478 名前:nobodyさん mailto:sage [2009/06/29(月) 19:17:18 ID:???]
お世話になります、自分で独自に作ったクラスをwebサービスの戻り値にするにはどのようにしたらよろしいでしょうか?
イメージとしては

class 個人情報(){
 private string 氏名;
 private int 年齢;
 setget〜〜〜
}
//個人情報クラスのリストを戻す
[webmethod]
class 個人情報[] 個人情報リスト(){
 List<個人情報> aaa=new List<個人情報>();
 aaa.add(new 個人情報(名無し,10));
 aaa.add〜〜〜;
 return aaa;
}

このような感じで作ってもエラーが出てうまく行きません、独自クラスではなくintやstringといったものなら正常に返せます
よろしくお願いします。 

479 名前:nobodyさん [2009/06/29(月) 19:43:32 ID:uOZzkvvT]
以下について教えて下さい。
[やりたい事]
1)登録ボタン押下
2)DB検索
3)フォームの入力データとDB結果をチェック
4)重複データでない場合=「新規登録しますか?」ダイアログ表示
>OK=DB追加
>キャンセル=中止

重複データの場合=「重複してますが登録しますか?」ダイアログ表示
 >OK=DB追加
 >キャンセル=中止

このような処理を実施させるには、どのような制御を実装すれば良いのでしょうか?

[聞きたい事]
・表示するメッセージを上記のように変動させて確認ダイアログを表示したい
・OK/キャンセルの戻り値を取りたい

登録ボタンのOnClientClickに「return confirm("登録しますか?");」を設定すれば
動作すると思ったのですが、上記1)の後に「登録しますか」ダイアログが出てしまい想定する動作になりませんでした。

不躾で申し訳ありませんが、ご教授の程よろしくお願い致します。

[環境]
Microsoft Visual Studio 2008 Version 9.0.30729.1 SP
Microsoft .NET Framework Version 3.5 SP1
Microsoft Visual Web Developer 2008
VBScript

480 名前:nobodyさん [2009/06/29(月) 20:51:34 ID:JEwwWVNF]
すでにあるxlsファイルを更新したいんですが、どうすればいいのでしょうか?
A*1に1を入れて保存とかそんな感じでお願いします

481 名前:nobodyさん mailto:sage [2009/06/29(月) 22:31:40 ID:???]
>>480
すでにあるがサーバ上にあるのか、クライアント側にあるのかわからないけど、
サーバ側なら
www.atmarkit.co.jp/fdotnet/dotnettips/717excelfile/excelfile.html
で操作できるんでないかね。
Microsoft Excel 11.0 Object Libraryって奴で。

クライアント上にあるのならサーバにアップロードするなりしないといけないと思う



482 名前:nobodyさん mailto:sage [2009/06/29(月) 23:18:11 ID:???]
>>479
JavaScriptでやりたいということだと、かなり特殊なことをしなくちゃいけないので面倒臭い。
なので、可能なら同じページに戻して、新規登録だけど登録していい?とか、重複してるけど登録していい?
というメッセージを表示させて確認を求めるほうが楽。

AJAXを使えばJavaScriptでも簡単にできるかもしれないけど、
非AJAXでやるとしたらこんな感じかな。
他に簡単な方法のアイデアがあったら求む・・・

<form id="form1" runat="server">
 <asp:HiddenField ID="HiddenField1" runat="server" Value="0" />
 <asp:HiddenField ID="HiddenField2" runat="server" Value="0" />
 <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
 <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="Button" />
</form>



483 名前:nobodyさん mailto:sage [2009/06/29(月) 23:18:11 ID:???]
>>479
OnClientClickだとポストバック前に実行しちゃうよ

proshile.blog.drecom.jp/archive/14
でいけるけど、今ってもっと良い方法がないのかな?
普段1.1使っててわからん。









[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<262KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef