[表示 : 全て 最新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落ち?)

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

723 名前:nobodyさん mailto:sage [2009/07/30(木) 22:18:30 ID:???]
>GridViewはEnableViewStateをfalseにしないと更新が出来ないそうですね。
そうなの?初めて聞いた。

>ロジック側でConnectionStringを設定するつくりになっているので、EnableViewStateがtrueでないと動かないのです。
そうなの?これも初めて聞いた。

724 名前:nobodyさん mailto:sage [2009/07/30(木) 22:21:01 ID:???]
ゴメン、意味が分からない。
同じ環境でGridViewから更新処理してるが、EnableViewstateはTrueのままだぞ。
あと編集処理は通常CommandNameがEditであって、
更新はUpdateだから同じものでも無いはずなんだが。
まぁイベントハンドラならOnCommand辺りでフックすればいいんじゃないか。

と、ここまで書いて思い付いたが、
もしかしてObjectDataSource等をかまさずに
直接DataSourceにオブジェクトを割り当ててるとか?

725 名前:nobodyさん mailto:sage [2009/07/30(木) 22:26:48 ID:???]
今テストしたけど、GridViewのEnableViewState=trueで更新できるな
VS2008+MSSQL2005

726 名前:nobodyさん mailto:sage [2009/07/30(木) 22:41:33 ID:???]
エスパーすると
IsPostBackがtrueの時にDataBindするとイベントが発生しないということと、
ポストバックしてEnableViewStateがtrueの時だと、
取得時のデータと異なる可能性があるというデータの整合性や楽観的ロックの
関係とごっちゃになってるような気がする。



727 名前:722 mailto:sage [2009/07/30(木) 23:43:56 ID:???]
>>723-726
というと、これはガゼ?
ttp://bbs.wankuma.com/index.cgi?mode=al2&namber=6830&KLOG=17
ttp://yaplog.jp/iamcat/archive/23

(1)削除は出来る
(2)更新も、少なくともSQLは流れてる
 ※UpdateCommandのSQL文弄るとエラーになるので
から、画面から入力した内容がUPDATE文に流れていないのだと判断したのですが・・・。

>>723
>>ロジック側でConnectionStringを設定するつくりになっているので、EnableViewStateがtrueでないと動かないのです。
>そうなの?これも初めて聞いた
初回は動くんですが、ポストバックするとConnectionStringが元に戻ってしまうらしいんですよ。
Page_loadで毎回代入してるはずなんですけどね・・・。

728 名前:nobodyさん mailto:sage [2009/07/30(木) 23:58:28 ID:???]
>>727
>というと、これはガゼ?
それは、GridViewにデータをバインドした後に、誰かがデータを変更した場合の話

初回アクセス時にデータを取得し、それ以降はサーバとブラウザの間でポストバックして、
データを持ち回りしているので、その間にデータベースのデータが変更されても、
変更されたデータとして反映されないということ。

>初回は動くんですが、ポストバックするとConnectionStringが元に戻ってしまうらしいんですよ。
そう考えるとConnectionStringが元に戻るんじゃなくて、表示されるデータが戻ってるだけでは?
ConnectionStringをLabelなどに表示してみて、本当に変わっているかどうかチェックしてみたほうがいい

729 名前:728 mailto:sage [2009/07/31(金) 00:08:52 ID:???]
ああ、ごめん上のレスは却下
System.ArgumentException: 無効なポストバックまたはコールバック引数です。
の理由にはならないね

ただ、ポストバックで特殊なことをしてなければそんなエラーはでないから普通は関係ないはず

730 名前:nobodyさん [2009/07/31(金) 00:14:03 ID:dsR5PDEA]
ASPでデバッグモードの時のみコードを実行させることってできます?
C#でウインドウアプリ作るときはプロジェクトの設定して
Conditional属性つければ、デバッグ時のみコードを実行させることが
できますが、同じようなことをASPでできないものでしょうか?

#if DEBUGでの切り分けはあんまり使いたくないなぁということで・・・
属性じゃなくても、似たようなことができる方法教えてもらえると助かります。



731 名前:730 [2009/07/31(金) 00:16:46 ID:dsR5PDEA]
あ、失礼しました
ASP.NETです
言語はC#です





732 名前:nobodyさん mailto:sage [2009/07/31(金) 02:18:59 ID:???]
>>720
>そもそもサーバサイドスクリプトがcsに書かれてるのも違和感だし
クライアントサイドの間違いじゃないのか?
サーバサイドのスクリプト(プログラム)が.csに書いてあるのは普通だろう
そのために.aspxと.aspx.csに分離してあるんだから

まあ、サーバサイドとクライアントサイドのコードが混在すると
読みにくくて判読しにくいのは同意するが、これはWEBアプリの宿命的な部分もあるしな
ASP.NETな開発で考えると、そこはコントロールの作成者が苦労すれば、
その利用者は何も考えなくてよい、ってことなんだが...最大の成功例はAjaxToolkitか
実際はカスタムコントロールなんて作らんとページロジックに書く場合がほとんどだろうし
作ってもコントロール利用者=コントロール作成者な場合が多いからなw

733 名前:nobodyさん mailto:sage [2009/07/31(金) 19:40:32 ID:???]
VS2008SP1のセキュリティがあたらねぇ
WindowsUpdateはクソだな

734 名前:nobodyさん [2009/08/01(土) 09:06:35 ID:7MJE4N/J]
ASP.NET MVC 2 Preview 1
www.microsoft.com/downloads/details.aspx?FamilyID=d34f9eaa-fcbe-4e20-b2fd-a9a03de7d6dd&DisplayLang=en

735 名前:nobodyさん mailto:sage [2009/08/01(土) 11:34:44 ID:???]
mvcは要らない子

736 名前:nobodyさん mailto:sage [2009/08/01(土) 11:58:07 ID:???]
海外ではMVCに移行してきてると思うけど
携帯向けのことも考えるとMVC以外あり得ん

737 名前:nobodyさん mailto:sage [2009/08/01(土) 13:47:25 ID:???]
ASP.NET for Mobilesはやれば出来る子

738 名前:nobodyさん mailto:sage [2009/08/01(土) 15:10:04 ID:???]
ASP.NET MVCちょっと使ってみて、やべー、使いやすい!
って俺は思ったんだが。
他のフレームワークでのMVC開発全くやったことなかったし。

739 名前:nobodyさん mailto:sage [2009/08/01(土) 15:45:55 ID:???]
コードビハインドで事足りる
MVCならResponse.Writeで全部はき出すのとそんなに変わらん

740 名前:nobodyさん mailto:sage [2009/08/01(土) 15:56:50 ID:???]
今更Web Forms vs MVCみたいなこと言ってんのかよ

741 名前:nobodyさん mailto:sage [2009/08/01(土) 16:01:59 ID:???]
ASP.NET MVCはLAMP対策。
それ以上でもそれ以下でもない。



742 名前:nobodyさん mailto:sage [2009/08/01(土) 16:07:10 ID:???]
使いやすい云々よりjQueryフレンドリーなのが大きい

743 名前:nobodyさん mailto:sage [2009/08/01(土) 16:12:12 ID:???]
苦肉の策って奴だなLAMP方式

744 名前:nobodyさん [2009/08/01(土) 22:28:24 ID:Xxdx6Cb4]
ASP.NET MVCは単テがしやすいとか聞いたがそうなの?
今までのASP.NETでは、まともに単体テストやろうとしたらかなり面倒だよね。

745 名前:nobodyさん mailto:sage [2009/08/01(土) 23:07:40 ID:???]
つVisual Studio Team Edition for Software Testers

746 名前:nobodyさん [2009/08/02(日) 16:46:34 ID:Ql7mD23J]
ttp://www.netdive.jp/asp.html

747 名前:nobodyさん mailto:sage [2009/08/02(日) 21:54:48 ID:???]

これは便利だね

748 名前:nobodyさん mailto:sage [2009/08/02(日) 22:00:36 ID:???]
昔のASP?


749 名前:nobodyさん mailto:sage [2009/08/03(月) 00:39:33 ID:???]
っつーかマルウェア検出されるんだけど

750 名前:nobodyさん mailto:sage [2009/08/04(火) 10:35:52 ID:???]
画面が重いとかクレーム付けられてンだけど、画面上にLabelとTextboxが5マンコも載ってりゃ
当然だろ常考。こっちは設計書に忠実に実装してるだけですが何か。

ページ切り替えとかの実装を要求されるンかなぁ。
更新系の画面でページ切り替えとか、考えることが増えてマジウザイんだけど。

751 名前:nobodyさん mailto:sage [2009/08/04(火) 10:41:59 ID:???]
>>750
初心者乙



752 名前:nobodyさん mailto:sage [2009/08/04(火) 14:09:01 ID:???]
5万項目も入力&入力チェックする人間も大変だな

753 名前:nobodyさん mailto:sage [2009/08/04(火) 19:43:51 ID:???]
Label+Textbox合わせて最大5マンコ位なんで、Textboxだけなら2マンコ位です。
横方向にTextBoxが40×Repeaterで500ループ、なので入力チェックの実装はそれほど大変では
ないのですが、、、

実際に運用した際の入力の手間については考えていません。


754 名前:nobodyさん mailto:sage [2009/08/04(火) 20:38:23 ID:???]
そういうのはグリッドで設計すべき

755 名前:nobodyさん mailto:sage [2009/08/04(火) 20:45:22 ID:???]
text二万個分のViewStateやらポストやらとか考えたくもない
でも設計に口出ししなかったんだから仕方ないな

756 名前:nobodyさん mailto:sage [2009/08/04(火) 21:24:45 ID:???]
ちなみに何を入力させてんの?
それがわからないと最適解はわからんよね
NDAとかで具体的に話せないなら、似たような事例で

757 名前:nobodyさん mailto:sage [2009/08/04(火) 22:30:19 ID:???]
>>754
グリードってGridView?あんまりGridViewを用いるメリットが思いつかない・・・
ちなみに、サンプルに良くある「行毎にある編集ボタンを押して編集モード、編集が終ったら行ごとの更新ボタ
ン押下で再び参照モード」 って挙動は駄目なんで。
ユーザはあくまでExcelへの入力のごときフィーリングを求めてるみたい。

>>755
詳細設計から参加だから、もうどうしようもなかった。
ポストは、xmlに定義した内容を見て、Request.Paramsを分解してDataSetに突っ込むっていう部品を作っ
たんであまり気にしてません。VIEWSTATEは・・・Sessionに突っ込んでるけど、恐ろしいサイズになってそう。

>>756
顧客情報。
1営業担当あたり500人程度を想定してるんで。

758 名前:nobodyさん mailto:sage [2009/08/04(火) 22:36:00 ID:???]
わかりにくかったらすみません
repeater全体にlinkbuttonつけたんですが、
そのどこかの行をクリックするとその行だけ詳細パネルが開いて、他の行もそのまま表示ってしようとしたところ、
パネルは開いたのですが元々あった一覧行が消えてしまいます
何が原因だと思いますか?

759 名前:nobodyさん mailto:sage [2009/08/04(火) 23:01:36 ID:???]
Excelのごとき入力をしたい画面をWebでつくるという腐った提案ナイスだな。
Excelでいいじゃんって言ったらしばかれそうだなw


760 名前:nobodyさん mailto:sage [2009/08/04(火) 23:02:09 ID:???]
>>757
どういう契約関係かわからんが仕様書段階で忠告があってしかるべき仕様だよな
仕様通りつくって運用上の問題が発生したのなら、当然、別料金で作り直しでしょ
仕様の設計者が社内の人間なら、泣く泣く作り直すしかないね。
設計者に飯でもおごってもらえw

それはともかく、初めからマトリクス状に500行あるってこと?
それともユーザを追加していくうちに最大で500行まで増えそうってこと?
前者なら設計が最悪、後者なら20行ごとにページングするしかないね。
各行ごとに編集や削除ボタンを設置しておけば、表全体に対して入力チェック
する必要ないし、PostBackの容量も少なくて済むし。

761 名前:nobodyさん mailto:sage [2009/08/04(火) 23:07:32 ID:???]
>>758
>repeater全体にlinkbuttonつけたんですが、
各行に1個のボタンを付けて、それをクリックすると行の詳細が、
パネル(パネルってなに?)に表示されるってことかな?
んで、クリックするとなぜかそのクリックした行のデータだけ
repeaterから削除されてるってこと?

いまいちどういう動作をしてるからわからんので、
記述したプログラムをどこかにupもしくは
操作している最中の動きをスクショでとってどこかにup



762 名前:nobodyさん mailto:sage [2009/08/05(水) 00:32:56 ID:???]
能力の無い馬鹿ほど最初に予防線を張りたがるよねw
大抵が、パフォーマンスが出ないのは作りがしょぼいだけ。それを仕方ないと言い訳する屑。

googlemapみたいにアジャックスつかって、見えてる部分だけデータを拾ってくるようにして、スク
ロールインした部分は随時データを拾ってくるようにすればいい。
これなら、画面上に見えてるコントロールの数はずっと少なく出来るし、レスポンスも工場する。

763 名前:nobodyさん mailto:sage [2009/08/05(水) 01:14:20 ID:???]
何いってんだか意味ワカンネ

764 名前:nobodyさん mailto:sage [2009/08/05(水) 01:27:35 ID:???]
>アジャックス

765 名前:nobodyさん mailto:sage [2009/08/05(水) 01:41:38 ID:???]
TextBox20000個より阿呆がいる

766 名前:nobodyさん mailto:sage [2009/08/05(水) 01:44:50 ID:???]
>>762
やってみろよ。
見せてくれ。
作りがしょぼいだけってんだから簡単にできるんだろ。


767 名前:nobodyさん mailto:sage [2009/08/05(水) 01:49:29 ID:???]
まもっとも、できるできないより問題はどんだけコストをかけるのかなんだけどな。


768 名前:nobodyさん mailto:sage [2009/08/05(水) 02:01:41 ID:???]
一方ロシアはページング機能を搭載したRepeaterコントロールを
ASP.NET AJAXを使って実装した

769 名前:nobodyさん mailto:sage [2009/08/05(水) 02:39:30 ID:???]
>>762
要件勝手に変えて何いってんだか



770 名前: [―{}@{}@{}-] nobodyさん mailto:sage [2009/08/05(水) 09:24:53 ID:???]
>>758
ポストバックして一覧再描画してないって落ちじゃね?

771 名前:nobodyさん mailto:sage [2009/08/05(水) 11:29:00 ID:???]
SharePoint Server
Excel Services...



772 名前:nobodyさん mailto:sage [2009/08/05(水) 13:09:46 ID:???]
>757

普通、OWC考えないか?

773 名前:nobodyさん mailto:sage [2009/08/05(水) 21:03:42 ID:???]
>>757
つ jqGrid(JQuery Grid Plugin)
つ UltraWebGrid(NetAdvantage)

774 名前:762 mailto:sage [2009/08/06(木) 00:52:33 ID:???]
>>769
ハァ?
要件は全然変わってないだろ。馬鹿ですか?w

775 名前:nobodyさん mailto:sage [2009/08/06(木) 01:01:32 ID:???]
>見えてる部分だけデータを拾ってくるようにして、スクロールインした部分は随時データを拾ってくるように
って書いてなければ、勝手にそんな機能を実装してるわけで要件は変わってる


776 名前:762 mailto:sage [2009/08/06(木) 01:16:17 ID:???]
要件の定義と機能の設計の違いが分からない馬鹿しかいないの?

777 名前:nobodyさん mailto:sage [2009/08/06(木) 01:23:02 ID:???]
検索した時のスナップショットってのが必要かも知れんがな。
まあそれはおいといて早く作って見せてくれよ。
実装イメージでもいいぞ。


778 名前:nobodyさん mailto:sage [2009/08/06(木) 01:34:52 ID:???]
「要件」という言葉を、「(システム開発の)要件定義」のことだと、勝手に論理のすり替えして楽しい?

>>757
「詳細設計から参加だから、もうどうしようもなかった。」って記述してるんだから、
すでに詳細設計書が存在してるわけで、この場合の「要件」とは、
その詳細設計書を実現するのに必要な条件のことでしょうよ。

>よう‐けん〔エウ‐〕【要件】
>1 大切な用事。「―のみ記す」
>2 必要な条件。「教育者としての―を満たす」

779 名前:nobodyさん mailto:sage [2009/08/06(木) 01:47:15 ID:???]
そもそも、ブラウザの画面をスクロールさせて、コントロールが表示エリアに入ったことをフックできるイベントなんてあったっけ?
仮に出来たとしても、cssで非表示させてるだけならhtmlのファイルサイズの削減にはならないから軽くならないし、
ポストするデータサイズも同じだし、むしろスクロールする度にJavaScriptのイベントが発生するから、
ベタに表示させるより重くなるんじゃね?

ASP.NET AJAXでスクロールするたびに動的にコントロールを生成するのなら、
初期に表示されるコントロールが少ないからhtmlのファイルサイズの削減にはなるけど、
スクロールさせるたびにサーバに問合わせてコントロールを表示させてデータを表示させるなんて、
物凄く遅くなるんでないかな。
さらにデータが変更されたテキストボックスが表示エリアから消えた場合、
それを復元する術がないから、非表示になったテキストボックスのデータも
いちいちサーバにポストバックして保存しないといけない。
そんなことするなら、ベタに5万個のテキストボックスを表示させたほうが軽くないか?

780 名前:nobodyさん mailto:sage [2009/08/06(木) 02:03:42 ID:???]
簡単に実装するなら <iframe> を縦に並べてスクロールインしたときにページ単位でロードするだけでいい。
お前にも作れるよ。

781 名前:nobodyさん mailto:sage [2009/08/06(木) 02:16:18 ID:???]
複数行にまたがって変更する場合どうすんの?



782 名前:nobodyさん mailto:sage [2009/08/06(木) 02:21:31 ID:???]
でそれはべたに作るより速いのかね?


783 名前:nobodyさん mailto:sage [2009/08/06(木) 02:30:15 ID:???]
50ページに分割したら最初にロードするのは1000個だけですむ。
遅くなる理由が見つからない。

784 名前:nobodyさん mailto:sage [2009/08/06(木) 02:31:02 ID:???]
onscrollでスクロールされたイベントは発生するが、
どのコントロールが表示状態になったかは取得できないな
従って、絵に描いた餅

Flashかsilverlightなら可能だと思うが

785 名前:nobodyさん mailto:sage [2009/08/06(木) 02:35:15 ID:???]
>>783
単にページ分けでいいじゃん

786 名前:nobodyさん mailto:sage [2009/08/06(木) 02:43:39 ID:???]
全件表示か、ページ分けしての表示なら問題ないが
1つのページに複数のページが表示されるのは機能的に問題

データはいつ削除されるか追加されるかわからないんだから、
最悪の場合、50ページすべての行に同じデータが表示される可能性がある
そして後からデータが追加されて51ページ目が発生した場合にも対応できない。

787 名前:nobodyさん mailto:sage [2009/08/06(木) 05:47:17 ID:???]
ページ分割というか、まあ1画面に表示する項目を絞れば早くはなるだろうな
後はAJAXなりで適当にスクロールしてるように見せかければいい


>>786
そういったことを防ぐために排他制御って考え方があるんだが
機能的に問題かどうかは、ロックがどうなってるかによる
普通のWEBアプリに見られるような楽観的ロックなら問題かもしれないが
適切なロックがあれば問題ない

そう考えると元の設計は、もしかするとロックするから
全項目を1画面に表示したいのかも知れない...と思ってみたがたぶん違うなw


788 名前:nobodyさん mailto:sage [2009/08/06(木) 08:19:08 ID:???]
楽観的排他制御じゃないロックなんて普通は最後の手段に近いけどな。
まずはセッションとかでどうにかならないか考えるだろ。
あと数を絞れば速くなるに決まってるなんて言ってるのがいるが、
ホントに試してみたのかい?

789 名前:nobodyさん mailto:sage [2009/08/06(木) 08:21:18 ID:???]
例えば一気に端から端までスクロールしてもまともに動くのか、
実は最初から全部読んだ方がスムーズだったなんてことはないのか。

790 名前:762 mailto:sage [2009/08/06(木) 09:46:36 ID:???]
>>778
詳細設計から参加、つーたら、普通は詳細設計書を書くところから参加という意味だろ。
馬鹿なの?死ぬの?


791 名前:nobodyさん mailto:sage [2009/08/06(木) 13:11:14 ID:???]
いいこと思いついた。スクーロルバーは標準のスクーロルバーじゃなくて、ボタンか何かを
配置して、画面上には常に固定のコントロールを配置。
で、スクーロル下をボタンをクリックしたら
txtbox2の内容をtxtbox1に
txtbox3の内容をtxtbox2に
txtbox4の内容をtxtbox3に
txtbox5には新規にDBから取得した内容を新規にセット
ってやれば、画面上には常に一定数のコントロールしか表示されないし、PostBackerの処理
も簡単で一石二鳥じゃね?



792 名前:nobodyさん mailto:sage [2009/08/06(木) 14:01:14 ID:???]
>>790
突っ込まれると思ったw
詳細設計時に存在するには内部設計書だな。すまんかった。

つーかいちいちプログラムと関係ないところのツッコミしかできないのかよ?
吐いた唾を飲み込むの?死ぬの?
唾飲み込むぐらいじゃしなねーけどwww

793 名前:nobodyさん mailto:sage [2009/08/06(木) 14:14:19 ID:???]
>>787
Webアプリで1画面表示する間、ずっとデータベースをロックしろとでも?
この場合、いつ最下部のページを表示する画面にスクロールかわからないから、
ページをみてる間はずっとロックかけてる必要がでてくるわけだが。
他人が使う可能性や、ブラウザのページの切り替わりの
可能性なんて考えたら、そんなロックは実用上不可能だろ。

結局、重複させない、または表示途中で削除されたデータに対応するには
クライアント側(ポストバックかクッキー)かサーバ(セッション)でデータを持ち続け、
最終的に楽観的ロックで確認するしかない。

>>791
2万行あったら最下部までたどり付くのに2万回クリックすんの?ww
そうなると100行単位とかのページ単位で切り替わるほうがいいんじゃね?
それでも200回クリックじゃつらいから、10ページ前に戻る、10ページ後に進む的な
ページングのボタンを設置したほうがいいんじゃね?
そうなると>>768で答えは既にでてる。

794 名前: [―{}@{}@{}-] nobodyさん mailto:sage [2009/08/06(木) 15:33:22 ID:???]
ま、作る前にワーニング出さなかった君の負けだよ。

Ajax、XBAP、Silverlight、Flashなんでもいいから
ユーザビリティーの良いのに作り直す事だね。

795 名前:nobodyさん mailto:sage [2009/08/06(木) 15:40:39 ID:???]
キミちゃんと最初から読んでる?

796 名前: [―{}@{}@{}-] nobodyさん mailto:sage [2009/08/06(木) 15:51:43 ID:???]
>>795
ああ、読んでるよ。
設計書通りに作ったんだろ。

設計書見た段階でこりゃ動かんわってわかってたんなら
その段階で何かするべきなんだよ。

ちゃんとせんから余計な後戻りが発生するんだ。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前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