【質問】ASP.NETスレ Part5【議論】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/01/23(金) 09:46:51ID:???Part1 - 【質問】 ASP.NETスレ 【議論】
http://pc5.2ch.net/php/kako/1040/10406/1040698263.html
【質問】ASP.NETスレ Part2【議論】
http://pc8.2ch.net/test/read.cgi/php/1111480331/
【質問】ASP.NETスレ Part3【議論】
http://pc11.2ch.net/test/read.cgi/php/1160355849/
【質問】ASP.NETスレ Part4【議論】
http://pc11.2ch.net/test/read.cgi/php/1184683786/ (dat落ち?)
あんまり需要ないのかもしれませんが。。。
0322nobodyさん
2009/05/20(水) 16:52:27ID:???0323nobodyさん
2009/05/20(水) 17:51:12ID:???大変ではないけどめんどくさいだけ
便利なのには違いない
つうか、必要でないViewStateだけ残して切ればいいじゃん
それすら嫌とか言うなら論外だろ
何かデータを保持るためのInputとかを別の形で実装してるようなもんじゃないか
0324nobodyさん
2009/05/20(水) 18:01:54ID:???大した問題にならないから無視しろか、
サーバーコントロールは極力使わなずResponse.writeしろの、
大体この二つに分かれてる感じだな。
一時期俺も削減に躍起になってたけど、そもそもASP.NETって時点で…
と気づいてからは余りこだわらなくなったな。
0325nobodyさん
2009/05/20(水) 21:21:01ID:???0326nobodyさん
2009/05/21(木) 00:42:51ID:???ViewStateは問答無用だろ。。
0327nobodyさん
2009/05/21(木) 00:45:50ID:???0328nobodyさん
2009/05/21(木) 01:36:07ID:/8BtlCky0329nobodyさん
2009/05/21(木) 02:38:51ID:???気になるプログラマはいると思う
んで、ユーザ数が多いと、そういうコツコツが大事だったりするので、
なんでViewStateを完全に無くすことができないかを知りたいと思う好奇心は
プログラマに必要な資質だと思う
だけど、ViewStateの動作を詳しく把握してもいないのに
ViewStateの存在を制御できないから気持ち悪いとか、
こんなにViewStateがたくさん埋め込まれるのは理解できない
みたいなこと言ってるプログラマがいたら確かに使えない奴だと思う
0330nobodyさん
2009/05/21(木) 04:14:36ID:???>気になるプログラマはいると思う
普通自動でセッションに保存されるでしょ
0331nobodyさん
2009/05/21(木) 07:40:13ID:???そういうのやろうとすると邪魔じゃね?viewstate。
0332nobodyさん
2009/05/21(木) 08:20:41ID:???ViewStateに対して間違った期待をしてないか。
0333nobodyさん
2009/05/21(木) 13:12:01ID:???ポストバックの結果をブックマークしたいなんてことしなければ。
0334nobodyさん
2009/05/21(木) 14:32:49ID:???0335nobodyさん
2009/05/21(木) 14:46:42ID:???参考までにそのメリット・デメリットなどご意見いただけないでしょうか。
0336nobodyさん
2009/05/21(木) 14:59:13ID:???S2.NET合わない
0337335
2009/05/21(木) 15:29:27ID:???そうですか。
紹介している記事もちらほら見かけるし、一見便利そうだったんで
使うのが一般的なのかとおもったのですが、そうでもないんですかね。
0338nobodyさん
2009/05/21(木) 15:47:46ID:???俺は使う気はないがもちろん使えることもあるだろう。
0339nobodyさん
2009/05/21(木) 15:49:01ID:???.NETに取り入れてられればいいんだけど
標準でないものを使うのは気が引ける
といいつつJQuery使ってるけどw
0340335
2009/05/21(木) 17:29:21ID:???その片手間で.NET学習しながら次の案件を・・・とは考えているのですが、
なかなか時代の進歩に学習が追い付かなくて悩んでたんです。
ご意見ありがとうございました。参考にいたします。
0341nobodyさん
2009/05/21(木) 18:47:50ID:???ASPの片手間でASP.NETは無謀。
0342nobodyさん
2009/05/21(木) 20:31:49ID:???Googleの検索、トップページじゃなくて検索後のページで考えれば、
動作的にはポストバックでしょ(getだけど)。
その結果をブックマークしたい、って話よ。
0344nobodyさん
2009/05/21(木) 21:10:26ID:???例えばTextBoxのサーバコントロールを設置して、
「送信」ボタンをクリックすると、自動的にPOSTでポストバックされるということを
言いたいんじゃないかと想像
0345nobodyさん
2009/05/21(木) 21:38:57ID:???ViewStateからなにやらクエリパラメータになるんだね
長いViewStateだと死にそうだけど
普通にクエリパラメータを作成して、Response.Redirectして
受け取り側では、Page.Request.QueryStringでGET内容を取得して
処理すれば手間(といってもphpとかなら当たり前の作業)だけど実現できそうだ
つーか、phpでは当たり前の実装が手間に感じるほど
PostBackは便利すぎってことだよね・・
この辺をうまく実装してくれるような仕組みってASP.NETにあったっけ?
0346nobodyさん
2009/05/21(木) 21:59:07ID:???0347nobodyさん
2009/05/21(木) 22:55:04ID:???0348nobodyさん
2009/05/21(木) 23:14:05ID:???古き良きWeb開発をしたい人にはとても良い。
しかしまあ、Webアプリ開発初心者には普通のASP.NETのが簡単だろうな。
Java人なんかにはMVCはグッとくるかもな。
0349nobodyさん
2009/05/21(木) 23:17:16ID:???クエリに検索キーがついたURLの文字列をブックマーク(記録)するだけで
ポストバックとかは関係無いと思うが。。
0350nobodyさん
2009/05/23(土) 08:52:49ID:???ブラウザのアドレス欄に「検索キーがついたURLの文字列」が現れて欲しい訳だけど、
form runat="server" method="post"
内のサーバコントロールに(ユーザーが)検索キーを入力した場合、
クエリ文字列は現れてくれない(URLは変化しない)し、
method="get"
にすれば現れるけど、もれなくviewstateもついてくるから邪魔。
っていう話。
>>344でだいたい合ってる。
0351nobodyさん
2009/05/23(土) 09:36:30ID:???ってのが最初から言われてることでしょ。
0352nobodyさん
2009/05/23(土) 09:43:31ID:???何にしても便利なやり方にはトレードオフはあるわな。
ASP.NET MVCみたいの使うとか(詳しく知らんからどんな感じにできるのか分からんけど)、
こういう用途の時だけは、ポストバックされた情報をもとに
クエリやパスに直してリダイレクトして結果表示ってのが簡単かな。
>>345みたいな方法だね。
0353nobodyさん
2009/05/23(土) 13:26:19ID:???0354nobodyさん
2009/05/23(土) 13:27:16ID:???よく考えたらNameValueCollentionをメンバに持つクラスを作って、
それにAddされて内容に従って、name=value&name1=value1みたいな出力をさせて、
URL作るだけだから、そんなに面倒じゃないね
受け取り側もHttpUtility.ParseQueryStringでやれば、
URLを自動的にNameValueCollectionに入れてくれる
ひょっとしたら、もっと便利なutilityクラスがあるかもしれないけど。
0355nobodyさん
2009/05/23(土) 13:29:36ID:???検索結果を表示させる一覧ページとかじゃない?
例えば業務なら担当が自分のページだけをブックマークしておいて、すぐに表示したいとか
0356nobodyさん
2009/05/23(土) 13:46:59ID:0dm/bxqY現在、IIS上、1つのWebアプリの中に10個程フォルダ分けして運用していますが、
これら全てをチェックアウトしてくると、1ビルドに軽く10分程かかります。
したがって、毎回開発に必要な分を取捨選択して落としてきています。
以前、別の会社が作成したサイトを見せてもらった時は、
そもそもサイトはIIS上全て別Webアプリとして管理されていました。
しかし、そのためにApp_Code配下の共有ライブラリは
それぞれのサイトごとに保持するという形を取られていました。
通常、あるべき管理体系を考えると前者はあり得ないんでしょうが、
後者の冗長管理もどうなんだと、いう感じです。
0357nobodyさん
2009/05/23(土) 16:56:23ID:???そういう用途ならサーバ側に用意するのが普通では?
業務に関係無く、要は個人用にカスタマイズしたページだよな。。
検索結果だって毎回同じキーワードで検索する意味不明。
>>356
開発元(マイクロソフト)が発行している開発技術大全だかに
詳しく解説されてるよ。ASP.NETの応用編だったかな。
発行年月は古いが基本的なことが書かれていてためになる。
ViewStateなんかも巷の初心者向けには書かれてないことがあったりするからおすすめ。
0358nobodyさん
2009/05/23(土) 17:02:05ID:???いや、だからgetで指定されてると便利な場合だよ
googlemapのような緯度経度で指定してリンクを張りたいとか、
特定の商品のカテゴリ一覧だけを表示させたいとか。
一つのページ内で完結しているんでなく、
外部からのリンクを許可するような場合。
0359nobodyさん
2009/05/23(土) 17:41:00ID:???そのサーバ側の用意として、getで指定するページを作るわけだが
まあ、厳密にはポストバックされているページではないがな
0360nobodyさん
2009/05/23(土) 17:44:57ID:???運用って何を指しているんだ?
チェックアウトやビルドは通常開発段階での話だが、
開発方法をして運用っていってるのか?
あるべき管理体制ってのは、何の管理をする体制のこと?
ソースの管理か?
0361nobodyさん
2009/05/23(土) 18:55:09ID:???エスパーすると、共有のライブラリをプロジェクト(Webサイト)ごとに
管理しないといけないから面倒ってことでしょ
それでも1サイトを1プロジェクトにして参照設定して、
発行すればライブラリも発行されるからそれの何が不便なのかよくわからないけど。
同じサーバに同じDLLが複数存在することを気持ち悪いと思うのなら
感覚としては理解できるけど、逆に、そのサイトがアクセス数が増大してしまって、
個別のサーバに移植したいという需要が発生した時には、
何も考えることなくそのWebサイトだけを他に移動させればいいんで、
その点では利便性は増してると思うけど。
0362nobodyさん
2009/05/24(日) 08:23:28ID:???HttpRequest.QueryString()を使えばいいだけのような気がするのだが。
別にPostBackだけが唯一のパラメータ取得の方法じゃないし。
0363nobodyさん
2009/05/24(日) 16:17:44ID:???0364nobodyさん
2009/05/25(月) 16:11:35ID:???アクセス数が多かったり、携帯だったりだと少しでも無駄は省きたいわけだ。
無駄にステートを保存してもらわなくていいし。
なんでページで「OFF」と指定しているのに組み込まれるのか。
というと、ASP.NETつかうなだとかいうやつがでてくるだろうけど、
これはMSも設計ミスと認めてるわけで、次.NETでは完全にOFFになるようだ。
結論からいうと3.5までではあきらめろ。
0365nobodyさん
2009/05/25(月) 16:12:47ID:???0366nobodyさん
2009/05/25(月) 17:05:50ID:???改ざん無しで
0367nobodyさん
2009/05/25(月) 17:07:56ID:???0368sage
2009/05/25(月) 17:44:02ID:???表示させる際に、日付でグループ化したいんですが
--------
yyyy/mm/01
・01 xxxxxxx
・02 xxxxxxx
yyyy/mm/02
・01 yyyyyyy
・02 ccccccc
--------
みたいな感じで。
.NET2.0だと、Repeaterの入れ子で実現するしかないでしょうか?.NET3.5だとListViewで
お手軽に実現出来そうなんですが。
0369nobodyさん
2009/05/25(月) 18:06:49ID:???SQLテーブルに日付テーブルの日付をinner joinして
日付テーブルID、SEQテーブルID、日付、項目というテーブルを取得して、
日付でソートし、日付が異なるたびに実行時バインドで<tr><td>yyyy/MM/dd</td></tr>
という行を表示してやればrepeaterを入れ子にしなくてもいいんでね?
0370nobodyさん
2009/05/25(月) 18:10:14ID:???最終的にどんなHTMLにしたいか考えたら結構簡単だと思うんだけど・・・
どんな方法だって実現できると思うけど?
あれだけど、極端な話テーブル使う方法もあるだろうし
0371nobodyさん
2009/05/25(月) 20:34:29ID:???入れ子にする必要なんてないだろ
日付の部分だけ実行時バインドで、表示するかどうか判定するロジック組めばいいんじゃね
0372nobodyさん
2009/05/25(月) 22:49:35ID:???詳しく
0373nobodyさん
2009/05/26(火) 00:59:11ID:/YYr/a48ASP.NET 4.0でMVC Framework標準装備って話でしょ。
ただ、MVC採用が現行の切り捨てに直結はしないと思うが。
0374nobodyさん
2009/05/26(火) 12:50:31ID:???どう考えても置き換わるもんじゃないのに。
0375nobodyさん
2009/05/26(火) 14:00:24ID:???いままでのサーバコントロールとか一式駄目になるな
0376nobodyさん
2009/05/26(火) 14:12:00ID:???0377nobodyさん
2009/05/26(火) 20:37:00ID:???実行時バインドを多様して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の問題はやっぱり解決はできなさそうだ。
0378nobodyさん
2009/05/27(水) 10:49:08ID:???データベースのテーブル作成で、
列名'ID' を IDENTITYの指定で(Is Identity)>「はい」を選択し
・IDENTITYインクリメント=1
・IDENTITYシード=1
とした場合、
「テーブルデータの表示」を開くと、自動的に初期値ID=1が表示され、
1レコードを入力完了すると、自動的にID=1が表示される。
となるのではと思うのですが、
'ID' の欄が「セルは読み取り専用です。」と(タスクバーに)表示され手入力不可。
これはよいのですが、データがNULLのままです。
どうすれば自動的にIDが入力されるようになるのでしょうか?
0379anon
2009/05/27(水) 11:44:02ID:???まともな回答が付いてないようなので。
repeaterをネストさせるのが一番簡単だと思うよ。
DataSetとしては、日付をDistinctしたものと、テーブルをそのまま取得し
たものの2つを用意して、2つの間でリレーションを設定。本文を格納した
DataSetに対してはDataViewを設定。
これで階層構造で表示させられる。
0380nobodyさん
2009/05/27(水) 12:18:04ID:???>まともな回答が付いてないようなので。
>>369,371は無視か?
それともまともじゃないというのか?
Repeaterのネストは本人も方法として言ってる
簡単かどうかは考え方によるだろうが
データセットにリレーション張ってRepeaterネストさせるぐらいなら、
日付ブレークの判定いれる方が簡単だと思うがな
0381nobodyさん
2009/05/27(水) 12:58:36ID:???GridViewに編集ボタンを付けて実行し
編集ボタンをクリックすると、下記のエラーメッセージが出ます。
「使用されている SQL Server のバージョンでは、データ型 'date' がサポートされていません。」
スタック トレースを見ても意味が分かりません。
何処を直せば、あるいはパッチの追加インストールとか必要なのでしょうか?
0382nobodyさん
2009/05/27(水) 13:04:36ID:???0383nobodyさん
2009/05/27(水) 13:07:41ID:???設定してすぐにテーブルを開くと表示されてるのは、
全部のフィールドがNULLになってると思うけど、
これは新規に行を追加するところだから
何かしらを入力(ID以外のデータ)してenterキーを押して決定すると
新しい行がデータベースに追加され、IDが表示される
0384nobodyさん
2009/05/27(水) 13:09:52ID:???わかんないけど、日付を表示させようとすると、
そういうエラーが発生するんだよ
ソースを表示するとGridView内にタグにdbtype="date"みたいな
表示がかかれてるところがあるから、そのdateをdatetimeにすると
正常に表示される。
編集や削除を許可してるなら、その数のぶんだけあるから
複数修正すること
0386nobodyさん
2009/05/27(水) 13:40:46ID:???0387nobodyさん
2009/05/27(水) 14:08:08ID:???IME ga kowareta ze ww
tabunn kono fix program jya ne?
install shitara kekka houkoku plz
http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=17185
0388nobodyさん
2009/05/27(水) 21:23:09ID:???0389nobodyさん
2009/05/28(木) 17:38:31ID:???asp.net(1.1)webサイトAがあります。
これは現在順調に動いています。
アプリケーションルートはwwwrootにあります。
ところが、このサイトを携帯サイトにも対応させようということになり
wwwroot直下にmovileというアプリケーションを登録し、元のサイトのコードをすべてコピーしました。
現在はまだここまでで、携帯にhtmlをコーディングし直しているわけではなく、PCで閲覧してテスト中です。
データベースからのデータを得る部分はwwwroot直下の別アプリケーションwevserviceを参照しています。
これはコピー元、コピー先ともに同じです。
ところが、単なるポストバックプログラムは動くようになったのですが、wevseervicceを参照している部分だけ
>>System.Net.WebException: 操作がタイムアウトしました。
エラーが出ます。web.configはすべてコピー元と同じ設定にしてあるのですが、movileアプリケーションだけが
エラーを出します。
どこかに同一サーバー内の別アプリを区別するセキュリティやタイムアウトの設定があるのでしょうか?
ヒント、誘導でもいいのでお願いします。
0390nobodyさん
2009/05/28(木) 17:53:13ID:wAV+Bwsc0391nobodyさん
2009/05/28(木) 18:43:17ID:???IISサービスマネージャ(スナップイン?)で、新たなアプリケーションを追加(仮想ディレクトリの追加?)を
追加して新しいサイトとしてやってみるのは試してみた?
どこで処理が止まってるかデバッグで確かめて、
その接続がなんでいかないかを考えたほうが早いようなきもするけど。
あとmovileじゃなくてmobileね
0392nobodyさん
2009/05/28(木) 19:08:30ID:wAV+Bwscありがとうございます。
web.configをコピーしたのには、将来的にcookieless=trueとして携帯サイトとしてクッキー対策するためと
ログイン画面への遷移を指定するためで、どちらもアプリケーションルートのweb.configのみという制約があるのです。
処理が止まっているのはwebサービスの応答待ちです。
webサービス側はまったくリクエストが届いていない感じです。
サーバー内には目立ったエラーログはありません。
0393nobodyさん
2009/05/28(木) 19:13:32ID:???web.configがなかったらどうかとか、
webサービスがなんで動作しないのか、
可能性を一つ一つ試して排除してみるしかないと思う。
asp.net 1.1 とwebサービスの特有の何かしらの症状なら、
あまり利用したことがないから想像がつかないけど。
0394nobodyさん
2009/05/28(木) 19:21:36ID:wAV+Bwscありがとうございます。
なるほど!テストしてみます!
0395nobodyさん
2009/05/28(木) 19:27:17ID:???>データベースからのデータを得る部分はwwwroot直下の別アプリケーションwevserviceを参照しています。
ああ、別アプリに登録してるのか。
それだと、webserviceが共通で利用できない可能性ってないのかな?
俺が勘違いしてるね。スマン
0396nobodyさん
2009/05/29(金) 02:19:51ID:DlIDf9OBDebug.WriteLine(Session.SessionID)
End Sub
↑のように書いてページにボタンを置いてポストバックしてみると、毎回違う値が出力される。
SessionIDってそういうものなの?
セッションIDなんて名前なんだから同一セッションの場合は同一の値が返ってくるものと思ってた。
0397nobodyさん
2009/05/29(金) 03:05:08ID:???同じだよ
クッキーが無効になってる
とか
http://support.microsoft.com/default.aspx?scid=kb;ja;316112
とか
0398nobodyさん
2009/05/29(金) 08:10:07ID:???TextBoxに「2001/6/1」と入力して、それをカレンダーに反映させるにはどうすればよいのでしょうか?
今月じゃない日付を選ぶ場合、月をクリックして前月、前月と繰り返し再表示させなくてはならず、
年月日をダイレクトで指定し、そのカレンダー上に日付に関連する情報を表示(日付を赤バックにする)し
内容を確認できるようにしたい。
最終的に日付の入力はDropDownListで入力する予定です。
0399nobodyさん
2009/05/29(金) 11:09:25ID:I+rUeGmYいえいえ、とんでもありません。
>webserviceが共通で利用できない可能性
やはりことあたりが疑わしいので、webサービスに接続しているアカウントなどを
追ってみたいと思います。
0400nobodyさん
2009/05/29(金) 14:01:33ID:???DateTime dateTime;
if (DateTime.TryParse(this.TextBox1.Text, out dateTime))
this.Calendar1.VisibleDate = dateTime;
0401nobodyさん
2009/05/29(金) 23:31:08ID:???もう解決済みかもしれんが、亀レスしておく。ASP.NET のワーカー
プロセスは以下のタイミングで再起動する。
・Web.config や Machine.config の更新
・bin 以下のコンテンツの変更(アセンブリ)
・*.aspx 等のコンテンツの変更多数
・なんか具合が悪い時(ぴゅう!)
よって、InProc モードを使っているとタイムアウトしていないのに
データが失われるという不可解な現象に悩まされることになる。
これがデフォルトの動作モードというのはもはや犯罪。いくら速くても
データがロストするんじゃね。
ということで、Session に重要なデータ保存するなら、InProc を使っては
いけない。つまり、ASP.NET 2.0 以降を使うべき。ただ StateServer などを
使う場合には Session に格納するオブジェクトに Serializable 属性が必要
になるので要注意。
0402nobodyさん
2009/05/30(土) 00:27:53ID:???原因は、>>241でして、
どうしようもない状態です。
iis 8007006dでググルと事例は
やたら出るが、対処方がみつからないです。
InProcを利用すべきでない等も
理解しているのですが
変えられない状況です。
0403nobodyさん
2009/05/30(土) 00:32:22ID:???0404nobodyさん
2009/05/30(土) 00:37:39ID:???1つのプロジェクト構造の為、
自部署のアプリのみをソースレベルで
慎重に分離して、StateServer対応の為、
シリアライズの部分を慎重に見直して、
全再テストする工数が莫大だからです。
0405nobodyさん
2009/05/30(土) 00:47:53ID:???あれから18日も経ってるけど解決できてないんだね。ご苦労様です。
サーバの再インストールとかやってみた?
どっちにしても、そのままだとシステムとして成り立たないから、
何が原因か、サーバなのか、プログラムなのか、
結果的に全部署で再テストする必要が出てきそうだね。カワイソス
http://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=
0406nobodyさん
2009/05/30(土) 01:25:38ID:???iis 8007006d でぐぐると、日本語では1件しか表示されない
MSのサポート情報の機械翻訳で日本語があれだが、エラーの原因が書いてある
そこに書いてある対処方法は当然ためしたか、該当しないか確認したんだよな?
0407398
2009/05/30(土) 04:44:22ID:???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)
によって該当月のカレンダーが表示されますが、日付の選択状態が実行されません。
指定した日付を選択状態にするにはどうすればよいのでしょうか?
0408nobodyさん
2009/05/30(土) 05:15:58ID:???>指定した日付を選択状態にするにはどうすればよいのでしょうか?
普通にCalendar1.SelectedDateにセットすればいいだけの気がするんだが、
これって読み取り専用か?
0409nobodyさん
2009/05/30(土) 06:09:32ID:???ロードバランサ使って負荷分散するとかしないと厳しそうな気もするけど・・・
監視ソフトでも入れて負荷みないとなんともいえん
0410nobodyさん
2009/05/30(土) 06:17:21ID:???Calendar1.SelectedDate = Convert.ToDateTime(txtInputDay.Text) ←追加
lblChangedDay.Text = txtInputDay.Text
lblChangedDay2.Text = Calendar1.SelectedDate.ToShortDateString
>Calendar1.SelectedDate = Convert.ToDateTime(txtInputDay.Text)
を追加したら上手くいきました。ありがとう!
0411nobodyさん
2009/05/30(土) 07:12:47ID:???>データがロストするんじゃね。
むしろデータがロストしても致命的にならないくらい
セッションをできるだけ使わないのがおすすめだけどな。
おれはセッションにはせいぜいリダイレクトの瞬間のやりとりデータしか入れないぜ。
0412nobodyさん
2009/05/30(土) 11:10:13ID:???設計段階で、Selializableな基底クラスを用意して、それを継承したクラスのメンバ変数で
値を持つようにして、それをsessionで受け渡しすればいい。
InProcで問題が発生してStateServerの利用になっても問題無く移行できる。
0413nobodyさん
2009/05/30(土) 11:48:58ID:???0414nobodyさん
2009/05/30(土) 11:53:13ID:???継承クラスでそのままSerializableできたけどなんでだろう?
0415nobodyさん
2009/05/30(土) 12:56:14ID:???Silializerだと駄目だね
SessionとかだとSerializable属性なしでも通るのか。
知らなかった。サンクス!
0416410
2009/05/30(土) 14:29:16ID:???日付を選択したら、表の右コラムのContentPlaceHolder1に関連情報(Result.aspx)を表示する。
というのを作成しました。
Server.Transfer("Result.aspx?targetDay=" + Calendar1.SelectedDate.Date)
これで対象となる日付を引き渡し、該当する関連情報を表示するところまでできたのですが
なぜかカレンダー表示がその都度初期値(今日の日付を含む月)に書き換えられてしまいます。
選択した日付を含む年月のカレンダーを表示し、且つ選択した日を選択表示にするには
どうすればよいですか?
0417nobodyさん
2009/05/30(土) 14:45:21ID:yVbH19hK俺は落とさないけど。
0418nobodyさん
2009/05/30(土) 15:27:24ID:???stringにDateTime突っ込んだりしても推測して型変換してくれるの?
0419nobodyさん
2009/05/30(土) 15:37:08ID:???戻るボタンでもAJAX使ってると今日の日付にもどっちゃうけど
ただ単に同じページに戻っただけなら、初めてページを表示させるのと同じだから
表示の日付も今日の日付になってるというのは当たり前の話。
日付を選択して違うページに移動し、再び日付選択ページに戻った時、
その日付を維持したいのなら、セッションかクッキーを使用するか、
GETかPOSTで日付データを渡して値を設定するしかない。
0420410
2009/05/30(土) 16:12:33ID:???表左コラム | 右コラム
|
カレンダー | 該当年月日に属する情報
Calendar.ascx | Result.aspx
こんな感じで、カレンダーで選んだ日付に属する情報を表の右コラムに表示する。
Server.Transferを使うことで、選択した年月日の情報を表示することはできました。
ところがResult.aspxが表示された瞬間、Calendar.ascxのカレンダーが初期年月に戻ってしまう。
カレンダー上に、右コラムで表示された情報の日付が選択された該当月が表示されたままにしておいて
同月の前後その他の情報を続けて表示確認したい。
マスターページに共通の見た目のデザインを設定し、この上で
Webユーザーコントロールから必要な項目を選択し、Webフォームに見たい情報をデータベース検索し表示する。
みたいなことができるような仕組みを作ろうかと思っています。
0421nobodyさん
2009/05/30(土) 16:47:09ID:???■ このスレッドは過去ログ倉庫に格納されています