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落ち?) あんまり需要ないのかもしれませんが。。。
348 名前:nobodyさん mailto:sage [2009/05/21(木) 23:14:05 ID:???] ポストバックとかViewStateとかASP.NET特有の概念が嫌いで 古き良きWeb開発をしたい人にはとても良い。 しかしまあ、Webアプリ開発初心者には普通のASP.NETのが簡単だろうな。 Java人なんかにはMVCはグッとくるかもな。
349 名前:nobodyさん mailto:sage [2009/05/21(木) 23:17:16 ID:???] >>342 クエリに検索キーがついたURLの文字列をブックマーク(記録)するだけで ポストバックとかは関係無いと思うが。。
350 名前:nobodyさん mailto:sage [2009/05/23(土) 08:52:49 ID:???] だから、ブックマークする為に ブラウザのアドレス欄に「検索キーがついたURLの文字列」が現れて欲しい訳だけど、 form runat="server" method="post" 内のサーバコントロールに(ユーザーが)検索キーを入力した場合、 クエリ文字列は現れてくれない(URLは変化しない)し、 method="get" にすれば現れるけど、もれなくviewstateもついてくるから邪魔。 っていう話。 >>344 でだいたい合ってる。
351 名前:nobodyさん mailto:sage [2009/05/23(土) 09:36:30 ID:???] まあそこは自前でやるなりするしかないでしょ。 ってのが最初から言われてることでしょ。
352 名前:nobodyさん mailto:sage [2009/05/23(土) 09:43:31 ID:???] 単純な設定変更とか、そういうレベルではできないね。 何にしても便利なやり方にはトレードオフはあるわな。 ASP.NET MVCみたいの使うとか(詳しく知らんからどんな感じにできるのか分からんけど)、 こういう用途の時だけは、ポストバックされた情報をもとに クエリやパスに直してリダイレクトして結果表示ってのが簡単かな。 >>345 みたいな方法だね。
353 名前:nobodyさん mailto:sage [2009/05/23(土) 13:26:19 ID:???] そもそも論でポストバック結果をブックマークしたいってのはどういう状況?
354 名前:nobodyさん mailto:sage [2009/05/23(土) 13:27:16 ID:???] >>352 よく考えたらNameValueCollentionをメンバに持つクラスを作って、 それにAddされて内容に従って、name=value&name1=value1みたいな出力をさせて、 URL作るだけだから、そんなに面倒じゃないね 受け取り側もHttpUtility.ParseQueryStringでやれば、 URLを自動的にNameValueCollectionに入れてくれる ひょっとしたら、もっと便利なutilityクラスがあるかもしれないけど。
355 名前:nobodyさん mailto:sage [2009/05/23(土) 13:29:36 ID:???] >>353 検索結果を表示させる一覧ページとかじゃない? 例えば業務なら担当が自分のページだけをブックマークしておいて、すぐに表示したいとか
356 名前:nobodyさん [2009/05/23(土) 13:46:59 ID:0dm/bxqY] そこそこの規模の運用でサイト分けってどうされていますか? 現在、IIS上、1つのWebアプリの中に10個程フォルダ分けして運用していますが、 これら全てをチェックアウトしてくると、1ビルドに軽く10分程かかります。 したがって、毎回開発に必要な分を取捨選択して落としてきています。 以前、別の会社が作成したサイトを見せてもらった時は、 そもそもサイトはIIS上全て別Webアプリとして管理されていました。 しかし、そのためにApp_Code配下の共有ライブラリは それぞれのサイトごとに保持するという形を取られていました。 通常、あるべき管理体系を考えると前者はあり得ないんでしょうが、 後者の冗長管理もどうなんだと、いう感じです。
357 名前:nobodyさん mailto:sage [2009/05/23(土) 16:56:23 ID:???] >>355 そういう用途ならサーバ側に用意するのが普通では? 業務に関係無く、要は個人用にカスタマイズしたページだよな。。 検索結果だって毎回同じキーワードで検索する意味不明。 >>356 開発元(マイクロソフト)が発行している開発技術大全だかに 詳しく解説されてるよ。ASP.NETの応用編だったかな。 発行年月は古いが基本的なことが書かれていてためになる。 ViewStateなんかも巷の初心者向けには書かれてないことがあったりするからおすすめ。
358 名前:nobodyさん mailto:sage [2009/05/23(土) 17:02:05 ID:???] >>357 いや、だからgetで指定されてると便利な場合だよ googlemapのような緯度経度で指定してリンクを張りたいとか、 特定の商品のカテゴリ一覧だけを表示させたいとか。 一つのページ内で完結しているんでなく、 外部からのリンクを許可するような場合。
359 名前:nobodyさん mailto:sage [2009/05/23(土) 17:41:00 ID:???] >>357 そのサーバ側の用意として、getで指定するページを作るわけだが まあ、厳密にはポストバックされているページではないがな
360 名前:nobodyさん mailto:sage [2009/05/23(土) 17:44:57 ID:???] >>356 運用って何を指しているんだ? チェックアウトやビルドは通常開発段階での話だが、 開発方法をして運用っていってるのか? あるべき管理体制ってのは、何の管理をする体制のこと? ソースの管理か?
361 名前:nobodyさん mailto:sage [2009/05/23(土) 18:55:09 ID:???] >>360 エスパーすると、共有のライブラリをプロジェクト(Webサイト)ごとに 管理しないといけないから面倒ってことでしょ それでも1サイトを1プロジェクトにして参照設定して、 発行すればライブラリも発行されるからそれの何が不便なのかよくわからないけど。 同じサーバに同じDLLが複数存在することを気持ち悪いと思うのなら 感覚としては理解できるけど、逆に、そのサイトがアクセス数が増大してしまって、 個別のサーバに移植したいという需要が発生した時には、 何も考えることなくそのWebサイトだけを他に移動させればいいんで、 その点では利便性は増してると思うけど。
362 名前:nobodyさん mailto:sage [2009/05/24(日) 08:23:28 ID:???] >>350 HttpRequest.QueryString()を使えばいいだけのような気がするのだが。 別にPostBackだけが唯一のパラメータ取得の方法じゃないし。
363 名前:nobodyさん mailto:sage [2009/05/24(日) 16:17:44 ID:???] お前ホントに頭悪いな
364 名前:nobodyさん mailto:sage [2009/05/25(月) 16:11:35 ID:???] というかさ、ViewStateが「強制」なのが気持ち悪いのであって アクセス数が多かったり、携帯だったりだと少しでも無駄は省きたいわけだ。 無駄にステートを保存してもらわなくていいし。 なんでページで「OFF」と指定しているのに組み込まれるのか。 というと、ASP.NETつかうなだとかいうやつがでてくるだろうけど、 これはMSも設計ミスと認めてるわけで、次.NETでは完全にOFFになるようだ。 結論からいうと3.5までではあきらめろ。
365 名前:nobodyさん mailto:sage [2009/05/25(月) 16:12:47 ID:???] ※ただしイケメンに限る
366 名前:nobodyさん mailto:sage [2009/05/25(月) 17:05:50 ID:???] ViewState無しで、POSTされた後であるかどうかをどうやって判断するんだろうな 改ざん無しで
367 名前:nobodyさん mailto:sage [2009/05/25(月) 17:07:56 ID:???] 携帯はモバイルASP.NET使わないほうが悪い
368 名前:sage mailto:sage [2009/05/25(月) 17:44:02 ID:???] キーが「日付」「SEQ」のテーブルがあって、それを表示させるウェップページを考えています。 表示させる際に、日付でグループ化したいんですが -------- yyyy/mm/01 ・01 xxxxxxx ・02 xxxxxxx yyyy/mm/02 ・01 yyyyyyy ・02 ccccccc -------- みたいな感じで。 .NET2.0だと、Repeaterの入れ子で実現するしかないでしょうか?.NET3.5だとListViewで お手軽に実現出来そうなんですが。
369 名前:nobodyさん mailto:sage [2009/05/25(月) 18:06:49 ID:???] テーブル構造がよく分からないが、 SQLテーブルに日付テーブルの日付をinner joinして 日付テーブルID、SEQテーブルID、日付、項目というテーブルを取得して、 日付でソートし、日付が異なるたびに実行時バインドで<tr><td>yyyy/MM/dd</td></tr> という行を表示してやればrepeaterを入れ子にしなくてもいいんでね?
370 名前:nobodyさん mailto:sage [2009/05/25(月) 18:10:14 ID:???] >>368 最終的にどんなHTMLにしたいか考えたら結構簡単だと思うんだけど・・・ どんな方法だって実現できると思うけど? あれだけど、極端な話テーブル使う方法もあるだろうし
371 名前:nobodyさん mailto:sage [2009/05/25(月) 20:34:29 ID:???] 日付、SEQでソートして、日付が変わったときだけ日付を表示すればいいんだろ 入れ子にする必要なんてないだろ 日付の部分だけ実行時バインドで、表示するかどうか判定するロジック組めばいいんじゃね
372 名前:nobodyさん mailto:sage [2009/05/25(月) 22:49:35 ID:???] >次.NETでは完全にOFFになるようだ。 詳しく
373 名前:nobodyさん [2009/05/26(火) 00:59:11 ID:/YYr/a48] >>372 ASP.NET 4.0でMVC Framework標準装備って話でしょ。 ただ、MVC採用が現行の切り捨てに直結はしないと思うが。
374 名前:nobodyさん mailto:sage [2009/05/26(火) 12:50:31 ID:???] そういう意味なの? どう考えても置き換わるもんじゃないのに。
375 名前:nobodyさん mailto:sage [2009/05/26(火) 14:00:24 ID:???] コードビハインドがなくなったら、 いままでのサーバコントロールとか一式駄目になるな
376 名前:nobodyさん mailto:sage [2009/05/26(火) 14:12:00 ID:???] うーむMVCも触ってみようかな
377 名前:nobodyさん mailto:sage [2009/05/26(火) 20:37:00 ID:???] MVCやってみた 実行時バインドを多様してhtmlとコードを分離してるってだけみたいな感じだね M→Linq To SQLやLink To Entityなどデータベースからデータを取得する V→htmlと実行時バインド C→実行時バインドの結果だけを作るクラス こんな感じ? むかし普通のASPの頃、デザインとコードを分離したくて、 1)デザイナの作成したhtmlの任意の場所に##Result##みたいなマーカーを設置する 2)ASPで出力するhtmlを作成する 3)ASPでFSOで1)を読み込んで、##Result##の文字を2)で作成したhtmlで置換する なんてことをやってたけど、これをシステム化した感じだ コードとデザインを別の意味で分離できるからこれはこれで便利なんだろう ただ動的に生成されるタグは少なからず存在するので JavaScriptの問題はやっぱり解決はできなさそうだ。
378 名前:nobodyさん mailto:sage [2009/05/27(水) 10:49:08 ID:???] VWD 2005 Express Editionを使っています。 データベースのテーブル作成で、 列名'ID' を IDENTITYの指定で(Is Identity)>「はい」を選択し ・IDENTITYインクリメント=1 ・IDENTITYシード=1 とした場合、 「テーブルデータの表示」を開くと、自動的に初期値ID=1が表示され、 1レコードを入力完了すると、自動的にID=1が表示される。 となるのではと思うのですが、 'ID' の欄が「セルは読み取り専用です。」と(タスクバーに)表示され手入力不可。 これはよいのですが、データがNULLのままです。 どうすれば自動的にIDが入力されるようになるのでしょうか?
379 名前:anon mailto:sage [2009/05/27(水) 11:44:02 ID:???] >>368 まともな回答が付いてないようなので。 repeaterをネストさせるのが一番簡単だと思うよ。 DataSetとしては、日付をDistinctしたものと、テーブルをそのまま取得し たものの2つを用意して、2つの間でリレーションを設定。本文を格納した DataSetに対してはDataViewを設定。 これで階層構造で表示させられる。
380 名前:nobodyさん mailto:sage [2009/05/27(水) 12:18:04 ID:???] >>379 >まともな回答が付いてないようなので。 >>369 ,371は無視か? それともまともじゃないというのか? Repeaterのネストは本人も方法として言ってる 簡単かどうかは考え方によるだろうが データセットにリレーション張ってRepeaterネストさせるぐらいなら、 日付ブレークの判定いれる方が簡単だと思うがな
381 名前:nobodyさん mailto:sage [2009/05/27(水) 12:58:36 ID:???] VWD 2005 Express Editionを使ってます。 GridViewに編集ボタンを付けて実行し 編集ボタンをクリックすると、下記のエラーメッセージが出ます。 「使用されている SQL Server のバージョンでは、データ型 'date' がサポートされていません。」 スタック トレースを見ても意味が分かりません。 何処を直せば、あるいはパッチの追加インストールとか必要なのでしょうか?
382 名前:nobodyさん mailto:sage [2009/05/27(水) 13:04:36 ID:???] どういうデータをどうバインドしてんだよ、こんちくしょうが。
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 まぢか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すげーーーーーーとかいって使ってたのを思い出したよ