- 1 名前:nobodyさん mailto:sage [2009/09/01(火) 20:06:04 ID:???]
- ASP.NETとは、マイクロソフトが提供するWeb アプリケーションと XML Web サービスを構築するための
Microsoft .NET Frameworkの一連のテクノロジの一つです。 技術の移り変わりの早い分野ですので、みんなで質問、相談しつつ、より理解を深めていきましょう。 ●ASP.NET関連サイト マイクロソフトASP.NETデベロッパーセンター msdn.microsoft.com/ja-jp/asp.net/default.aspx ASP.NETオフィシャル(英語) www.asp.net/ VisualStudioホームページ www.microsoft.com/japan/msdn/vstudio/ SQLServerホーム www.microsoft.com/japan/sqlserver/2005/default.mspx IISオフィシャル(英語) www.iis.net/ ASP.NETにAJAX技術を取り入れるASP>NET AJAX(英語) www.asp.net/ajax/ ASP.NETにMVCアーキテクチャを取り入れるASP.NET MVC(英語) www.asp.net/mvc/ ASP.NETでのお役立ちの定番サイト www.atmarkit.co.jp/channel/aspnet/aspnet.html ●前スレ 【質問】ASP.NETスレ Part5【議論】 pc11.2ch.net/test/read.cgi/php/1232671611/
- 96 名前:23 mailto:sage [2009/09/16(水) 23:02:19 ID:???]
- >>94
それもあるが、レイアウトを自由にカスママイズできるってのと、あとは登録処理が FormView.InsertItem(false) で OK なところとか、Update の時に元々の入力値も 引数で一緒にもらえるところとかね。使ったことないなら使ってみたら? >>95 ナビゲーションは逆に使ってないな。GridView との連動パターンしかない。 それと、双方向バインドで自動更新は不可欠だろ! これのおかげでどんだけ楽に なってるか。
- 97 名前:nobodyさん mailto:sage [2009/09/16(水) 23:33:22 ID:???]
- 本当に日本語が不自由な奴だな
>レイアウトを自由にカスママイズできるってのと レイアウトの自由度はポトペタ>>>>>>>>>>>>>>>>>>>>>>>>(越えられない壁)>FormViewだろ? なんでレイアウトの自由度がポトペタに対してFormViewのほうがメリットあるんだ? >あとは登録処理がFormView.InsertItem(false) で OK なところとか、 そんなのFormViewじゃなくても作り方次第 >Update の時に元々の入力値も引数で一緒にもらえるところとかね。 そんなのFormViewじゃなくても作り方次第 >それと、双方向バインドで自動更新は不可欠だろ! これのおかげでどんだけ楽になってるか。 多くの人はなってないんだよ。 おまえだけがエクセルでやってるから楽なの。 FormViewの利点を述べたいがために強弁してないか? ASP.NETでクエリを書くのが2割になったとか、 レイアウトを自由にカスタマイズできるとか、 作り方次第でどうとでもなることをFormViewのメリットだと述べたりとか、 自分がやっている方法に固執してFormViewは便利だと述べたりとか。
- 98 名前:23 mailto:sage [2009/09/17(木) 00:05:04 ID:???]
- >>97
作り方次第のところはそう言うならまあ頑張ってくれやって感じだが、双方向バインド は Excel とは何の関係もないよ。
- 99 名前:95 mailto:sage [2009/09/17(木) 01:07:19 ID:???]
- >>96
>レイアウトを自由にカスママイズできる レイアウトのカスタマイズなんてFormView以外でもカスタマイズできる これはFormViewのメリットでも何でもない >ナビゲーションは逆に使ってないな。GridView との連動パターンしかない。 ナビゲーションの真意が伝わってない気がするな。FormViewでレコードを移動するって話じゃないぞ レコードが移動されたときに新しいレコードにバインドし直すって話だ いちど、FormViewつかわないで一覧からカレント行取得して詳細表示するコード書いてみ このコードを自動でやってくれるのはかなり楽 データ更新は、SQL書くのなんてパターン決まってるから難しくはない (それこそ自動生成で8割まかなえるほどに) ただ、ビジネスロジックのチェックはそうはいかんし 単純な更新でないと使えないってのが感想だ >>97 作り方でどうにでもなるのはその通りなんだが、問題はその作りこみが FormViewで不要や楽に実現できるようになるかどうかだろ レイアウトの件はまあ同意だが、FormViewにもポトペタすればある程度自由にできるぞ 登録処理は、単純な更新に限れば楽なる UPDATEの元値は、DataSet使わないならかなり有効な機能だと思う 1.1には単一レコードを想定したバインドコントロールはないんで、 その点でFromViewにはメリットはあるから、使えるとこなら使えばいいかと 逆にデメリットは、自由度が下がるってことか それでもある程度コードかけばカバーできる範囲だと思う
- 100 名前:nobodyさん mailto:sage [2009/09/17(木) 05:26:24 ID:???]
- >>99
上のほうにナイスなたとえがあるけど、まさにその通りだと思ったな FormViewは麺つゆ ウドンやソバを作るのには便利だし美味しい だけどいくら加工してもベースが麺つゆだから味が似てしまう(応用度が低い)し 麺つゆだから酢醤油や砂糖醤油にはならない。 ポトペタの醤油は手間はかかるがより多くの料理に利用できる。 こんなとこだろ
- 101 名前:nobodyさん mailto:sage [2009/09/17(木) 10:42:52 ID:???]
- ウェップフォーム上の全チェックボックスのチェックをオフにしたいんですが、方法は
ありますでしょうか?repeaterの中にあってIDが固定じゃないのでべた書きすることが 出来ません。
- 102 名前: [―{}@{}@{}-] nobodyさん mailto:sage [2009/09/17(木) 12:15:57 ID:???]
- >>101
サーバ側でならRepeater.ItemDataBound イベントで処理する。 クライアント側でならJavaScriptで走査して処理する。
- 103 名前:nobodyさん mailto:sage [2009/09/17(木) 15:36:36 ID:???]
- チェックボックスOFF程度でバインドし直すのもな。
俺ならサーバー側もforeachで回す。
- 104 名前:nobodyさん mailto:sage [2009/09/17(木) 16:26:00 ID:???]
- なにをみてforeachで輪せばいいんですか?
- 105 名前: [―{}@{}@{}-] nobodyさん mailto:sage [2009/09/17(木) 17:23:14 ID:???]
- >>104
Repeaterの中をIDでFindControl
- 106 名前:nobodyさん mailto:sage [2009/09/17(木) 23:30:47 ID:???]
- FindControlでもいいけど、コントロール名を
ハードコーディングしたくない俺は大体再帰で回す。 protected void button_Click(object sender, EventArgs e) { clear(this.Repeater1.Controls); } protected void clear(ControlCollection controlCollection) { foreach (Control control in controlCollection) { if (control.GetType().Equals(typeof(CheckBox))) { ((CheckBox)control).Checked = false; } if (control.HasControls()) { clear(control.Controls); } } }
- 107 名前:nobodyさん mailto:sage [2009/09/18(金) 05:33:22 ID:???]
- type='reset'なhtmlボタン配置したらどうだろうか
まあ俺なら、ページ出力時にクライアントサイドのスクリプトを動的に生成して出力しとく チェックボックスオフにするためだけにポストバックさせたくない 今ならAjaxでやるのもありなのかもしれん。updatepanelだっけ? その場合、Repeaterの中全部更新されるよね?
- 108 名前:nobodyさん mailto:sage [2009/09/18(金) 09:52:05 ID:???]
- >>107
CheckBox以外のControlsもあったらどうすんの?
- 109 名前: [―{}@{}@{}-] nobodyさん mailto:sage [2009/09/18(金) 10:44:13 ID:???]
- >>107
JQueryとか使うと楽ちんだわな
- 110 名前:nobodyさん mailto:sage [2009/09/18(金) 15:09:35 ID:???]
- >>108
その場合はその項目もリセットされるわな それがまずいかどうかは>101の判断だろう まあ、一番楽な方法としてリセットボタン考慮する価値はあるかと
- 111 名前:nobodyさん mailto:sage [2009/09/18(金) 15:15:51 ID:???]
- >type='reset'なhtmlボタン
そういえばそんなのもあったな。すっかり忘れてたわ。
- 112 名前:nobodyさん mailto:sage [2009/09/18(金) 19:03:46 ID:???]
- 俺もClientスクリプトに一票
- 113 名前:nobodyさん [2009/09/19(土) 03:13:45 ID:ZjH1gzNN]
- 今のプロジェクトはASP.NETで作ってるんだが、どうしても必要なのでJavaScriptも死ぬほど書いてる。
自分で実装してて思うんだが、こんなの俺以外に絶対に保守出来ない。 つーか俺自身でも3か月後には多分保守出来ないw 難しいシステムを無理やりWebで作るのはほんとアホとしか思えないぜ。
- 114 名前:nobodyさん mailto:sage [2009/09/19(土) 04:39:22 ID:???]
- うちは基本的にクライアントスクリプトの自前書きは禁止だなぁ@2.0環境
5行で書ける処理でもサーバー側でできるなら、そっちでやってもらってる。 >難しいシステムを無理やりWebで作るのはほんとアホとしか思えないぜ。 特に帳票とか帳票とか帳票とかな。まずデザインで死ねる。 更に、あたかも関数だらけのExcelのような動作を求められたりして死ねる。 入力項目50個超で1つ入力すると各項目を色々再計算/再描画とか言ってくるけど、 50個AutoPostback = trueな状態にするとブーブー言ってくるのは確定的に明らか。 こうなるとJavaScriptの出番になってしまい>>113みたいになって死ねる。 で、仕様変更があった時にJavaScript側で更に色々判定する必要がでてきてまた死ねる。 この経験からうちではクライアントスクリプト禁止令と、 「出来る出来ないで言えば出来ますが…は、ハッキリNoと言う」という 超基本的なことを徹底するようになった(´;ω;`)
- 115 名前:nobodyさん mailto:sage [2009/09/19(土) 15:13:10 ID:???]
- 教えて下さい。
コードビハインドで作られてるんですけど、3つのaspxが指すコードが全て同じものを指してる んですが、これっていいんですか?まあ動けばOKという格言もありますが。 Form1.aspxとForm2.aspxとForm3.aspxが全部FormCom.aspx.csを指してます。 ちなみにFormX.aspxは3つとも微妙に違っていて、載ってるコントロールなんかも違います。 その辺はFindcontrolしてnullかどうかをちゃんとチェックしてるようなんですが。 でもまあ、通常は基底クラスに全部詰め込んで、あとは各画面に対応するクラスを継承するのが 正しい方法だと思うんですが。
- 116 名前:nobodyさん mailto:sage [2009/09/19(土) 17:07:25 ID:???]
- >>115
>3つのaspxが指すコードが全て同じものを指してる この発想はなかったわ。どう考えてもNGだろ。
- 117 名前:nobodyさん mailto:sage [2009/09/19(土) 19:01:05 ID:???]
- メリットが思いつかないな
- 118 名前:nobodyさん mailto:sage [2009/09/19(土) 19:39:44 ID:???]
- メリット
単純にコード記述量を減らせる。つまり試験工数も減るし、バグも減る。いい事尽くし。 3つのパターンで画面入力させるんだけど、画面上の項目が微妙に違う。(画面上の100項目の うち10項目ほど)無論、3パターンを1画面でまかなって、区分によって項目のVisibleを制御 するのでもいいんだけど、いっそ3画面分のaspxを用意して、裏のcsは共通にしてしまおう、 と。デザイン指定が超絶シビアなので、Visibleで出したり隠したりとかしたくなかった。 基底クラスを継承、の場合でも、例えばボタンをクリックした場合のイベントはやっぱ3画面 それぞれ必要だよね。csが1つならとことんコード量を減らせる訳で。 まあ、「コード量が少ない」と「メンテしやすい」は等価じゃないけど。
- 119 名前:nobodyさん mailto:sage [2009/09/19(土) 19:40:53 ID:???]
- >>116
すいません、NGの理由ってなんでしょうか?
- 120 名前:nobodyさん mailto:sage [2009/09/19(土) 20:00:26 ID:???]
- 自己フォロウ
開いてる画面によってはコントロールがあったり無かったりするので、不用意に TextBox1.Text = "ほげ〜"; とか書けなくなる。全画面共通で必ず存在しているコントロールじゃない限り、一々FindControl でコントロールを探さなきゃならない。 デメリットってこれぐらいだと思うンすけど。
- 121 名前:nobodyさん mailto:sage [2009/09/19(土) 21:09:11 ID:???]
- 余りに阿呆らし過ぎて説明する気もおきん。
コボラ相手にしてる気分だ。 いいと思うならやればいいんじゃないンすか?
- 122 名前:nobodyさん mailto:sage [2009/09/19(土) 21:16:18 ID:???]
- >>121
ページが最終的にコンパイルされる仕組みを理解していれば、特に何の問題も無いわけだが? 理解出来ないなら黙ってた方が無知を晒さずに済むと思われ。
- 123 名前:nobodyさん mailto:sage [2009/09/19(土) 21:22:24 ID:???]
- ここのページに個別にJavaScriptを設定したくてもできなかったりとか
コントロール名を変更しても反映されなかったりとか 不必要なイベントハンドラメソッドが増えるとか インテリセンスが意味をなさなくなってバグの温床になるとか
- 124 名前:nobodyさん mailto:sage [2009/09/19(土) 21:32:36 ID:???]
- それは、そういうデメリットもあるから、メリット・デメリットを天秤にかけて考えてね。
ってだけの話で、やってはいけない。という理由にはならない。 でもまあ、個人的には動けば正義だと思ってる ちなみに「不必要なイベントハンドラメソッドが増えるとか」これだけ意味不明。
- 125 名前:nobodyさん mailto:sage [2009/09/19(土) 21:45:24 ID:???]
- >ちなみに「不必要なイベントハンドラメソッドが増えるとか」これだけ意味不明。
ボタンの数だけイベントハンドラメソッドが増えるでしょうが。 各ページに5個のボタンがあって、それぞれ別動作してたら15個のメソッドが存在することになる。 >でもまあ、個人的には動けば正義だと思ってる 保守性が下がるからやってはいけない 他人が見てもわけわからないことになるからやってはいけない 重複させるとインスタンス時に余計なサーバ資源を消費するからやってはいけない。 インテリセンスの動作が無駄になりバグの温床になるからやってはいけない。 エラー発生時にハイライトされた行が、どのページのエラーなのか一別しか分かりにくいからやってはいけない。 ページ初期化時に表示ページとは関係無い初期化にリソースが消費されるのでやってはいけない。 >それは、そういうデメリットもあるから、メリット・デメリットを天秤にかけて考えてね。 >ってだけの話で、やってはいけない。という理由にはならない。 デメリットのほうが圧倒的に大きいから「やってはいけない」ということでしょ。 単に自分がやってることを否定されたくないから、難癖つけて認めさせたいようにしか見えない。
- 126 名前:nobodyさん mailto:sage [2009/09/19(土) 21:46:50 ID:???]
- 各ページに5個のボタンがあって、それぞれ別動作してたら15個のメソッドが存在することになる。
↓ 3枚の各ページに5個のボタンがあって、それぞれ別動作してたら15個のメソッドが存在することになる。
- 127 名前:nobodyさん mailto:sage [2009/09/19(土) 21:55:05 ID:???]
- >126
普通、そういうケースではさすがにこんなヒネたコードは書かんだろ常考。 各画面にボタンが5個あって、ページに関係なく処理が同じ(前画面に戻るとか) ↓ 15個のメソッドが必要なところを5個で済む ていう事を言いたいんジャマイカ?
- 128 名前:121 mailto:sage [2009/09/19(土) 22:11:27 ID:???]
- >>122
アホかw本来別にすべきものをまとめて、 何がコンパイル時には一緒になるからだ。 App_Code以下が単一dllになるからって、 1クラスに全部まとめて書くか?書かないだろ? なぜだ?責務が異なるものは、分けるのが当たり前だからだろ? ある画面専用の処理が追加になったらどうするんだ? 他の画面からしたら、全く関係のない処理があるクラスを実装してることになるぞ。 リファクタリングを一回でもやったことがあれば、 それがどんなにアホなことか分かるよな。 月日が経って、そのクラスを実装するaspxが増えたらどうなる? その度にif文やFindControl判定が増えていくのか? なんとも素晴らしい設計だな。 仕様変更時には影響範囲が特定できず、 ある画面だけの修正なのに、処理が重なっているために 全画面の動作検証を行わねばならなくなったりしないか? つか、高凝集密結合が良くないなんて、学生でも分かるだろ? で、業務上、そういうことにはならないように気を使ってますとでも言うのなら、 先に述べたように、お好きにどうぞってこった。
- 129 名前:nobodyさん mailto:sage [2009/09/19(土) 22:26:02 ID:???]
- 多分元の質問者は「技術的に問題ありますか?」って事を聞きたいだけだと思われ。
そういう意味では「注意深く作るなら、別に問題はない」が回答。 ただし「将来的なメンテとか拡張とか修正とか考えると、3画面分まとめて1ソースに すると身動き取れなくなったりしない?止めとけば?」ってのが周りのアドバイス。
- 130 名前:nobodyさん mailto:sage [2009/09/19(土) 23:06:31 ID:???]
- >>127
>ちなみにFormX.aspxは3つとも微妙に違っていて、載ってるコントロールなんかも違います。 って言ってるぞ。
- 131 名前:nobodyさん mailto:sage [2009/09/20(日) 06:26:46 ID:???]
- 知識のない奴が一人前に提案して
不備を指摘されると逆ギレ 誤りを認めたくないから強弁するってガキの流行なんか?
- 132 名前:nobodyさん mailto:sage [2009/09/20(日) 14:01:24 ID:???]
- >>130
で?
- 133 名前:nobodyさん mailto:sage [2009/09/20(日) 14:03:21 ID:???]
- 俺が認めない方法は許さない。
って馬鹿の粘着キモイ >129 で出てる回答が全て。あとは自分で判断しろってことで終了。
- 134 名前:nobodyさん mailto:sage [2009/09/20(日) 15:36:43 ID:???]
- >>133
技術的に問題があるかどうかなんて聞いてないよ 本人は技術的には問題ないことを理解した上で、メリットデメリットの話をしてるんだから。 技術的に問題無いことを理解している発言は>>122でしてる。(技術的に)何の問題もないと。 メリットとデメリットの話をしようとしているのは>>120を見れば分かる。デメリットうんたらかんたらと。
- 135 名前:nobodyさん mailto:sage [2009/09/20(日) 16:07:08 ID:???]
- エスパー登場
- 136 名前:nobodyさん mailto:sage [2009/09/20(日) 16:48:16 ID:???]
- なんか、ある事例を今の我が事のように感情移入してしまう人が居ますが、
その3画面での共用する方法はある意味、仕組みを熟知して使い倒してますなw ネイティブアプリでの共有ライブラリ、DLLの様ように。 禁止事項ではないから、開発&保守が効率的であればそれも選択肢としてアリだと思う。
- 137 名前:nobodyさん mailto:sage [2009/09/20(日) 17:05:18 ID:???]
- 熟知しての実装なのか、無知ゆえの実装なのかはともかく(後者っぽいけど)、ケースに
よってはそういう手もあるのかと知ってちょっと感心した。 ビハインドコード共有!そういうのもあるのか みたいなw 機能的に全く完全に差異がないけど、デザイン的にどうしようもない(ある仕入先と別の 仕入先で全く異なるデザインの画面)ケースなんかでは有効かも。
- 138 名前:nobodyさん mailto:sage [2009/09/20(日) 17:09:01 ID:???]
- >なんか、ある事例を今の我が事のように感情移入してしまう人が居ますが、
4:主観で決め付ける >ネイティブアプリでの共有ライブラリ、DLLの様ように。 6:一見関係ありそうで関係ない話を始める >禁止事項ではないから、開発&保守が効率的であればそれも選択肢としてアリだと思う。 1:事実に対して仮定を持ち出す 10:ありえない解決策を図る 12:決着した話を経緯を無視して蒸し返す というか自演乙
- 139 名前:nobodyさん mailto:sage [2009/09/20(日) 17:54:42 ID:???]
- というか、aspxのページを新規生成すると、
ロジックを記述するパーシャルクラス(ページなんちゃら.aspx.cs)と、 コントロールなどのメンバ変数を宣言する.aspxが自動生成するパーシャルクラスの 二つが作られるわけでしょ? 後者はVSがページ毎に自動生成するからaspxと1対1になってる コードビハインドは、そのメンバ変数を参照してる(からインテリセンスで補完してくれる)わけで いくらpageのインスタンスを所有していて、そこからFindControlで操作したいコントロールを見つけられるとしても メンバ変数として宣言されてるコントロールを一切使用しないなんて、 asp.net以前にオブジェクト指向の設計として間違ってるような気がするのは俺だけ? クラスで例えれば、 メソッド内では決して参照しないまったく関係無いコントロールのインスタンスをメンバ変数として保持し、 メソッド内で操作したいコントロールのインスタンスは、すべてメソッドの引数として得て操作してるような感じ。 じゃあ、メンバ変数として所持してるインスタンスってなに? その都度無駄にコントロールのインスタンスを生成するの?ってな感じになると思うんだ。 技術的に問題ないとか、問題なければやってもいいだろとか別次元の話だと思うんだけど。 動けば害はないし、禁止されてないからということで、1行ごとにThread.Sleepをしかけまくるみたいな。
- 140 名前:nobodyさん mailto:sage [2009/09/20(日) 17:58:03 ID:???]
- 君さ、もう「宗教上の理由で俺は断固として認めない」とでも言えば?('A`
- 141 名前:139 mailto:sage [2009/09/20(日) 18:05:49 ID:???]
- なんだかわからんが、初の書き込みなんだが
というかで始めたのがまずかったか
- 142 名前:nobodyさん mailto:sage [2009/09/20(日) 18:13:57 ID:???]
- すまんが
技術的な見地 思想的な見地 メンテや修正といった見地 で分けて議論?してくれ。じゃないと収束せんだろ。 >技術的に問題ないとか、問題なければやってもいいだろとか別次元の話だと思うんだけど。 じゃあ技術的には問題なし、思想的に不可。でいいじゃん。
- 143 名前:nobodyさん mailto:sage [2009/09/20(日) 18:38:22 ID:???]
- >>142
いや、技術的に問題ないわけないじゃんね。 それ以前の話。 無駄なあえてわざと無駄な変数宣言をしてインスタンスを生成することは 動くけど技術以前の問題だろ? 1行ごとにSleepかませたり、ところどころ無駄な変数を宣言してインスタンスを生成したり 技術とか思想以前の問題
- 144 名前:nobodyさん mailto:sage [2009/09/20(日) 19:12:59 ID:???]
- どうしても「俺が認めないものは認められない」つー馬鹿がいるな。
1行ごとにsleepかけようが、ASP.NET的には全然OK。 でもそういう実装が実際に許されるか否かは、そのアプリの目的に依存するんで可否を決 めようがない。 InProcで動いてる時にSessionに1GBのobjectを突っ込むのも、ASP.NET的には問題なし。 でもほんとにそんなことをしていいかどうかは求められてる仕様や環境次第。 技術以前の問題だっつーなら、技術以前の問題と技術的な問題に切り分けろよ。
- 145 名前:nobodyさん mailto:sage [2009/09/20(日) 19:58:30 ID:???]
- >>144
>どうしても「俺が認めないものは認められない」つー馬鹿がいるな。 お前のことか? >1行ごとにsleepかけようが、ASP.NET的には全然OK。 >InProcで動いてる時にSessionに1GBのobjectを突っ込むのも、ASP.NET的には問題なし。 アホかよw >そのアプリの目的に依存するんで可否を決めようがない。 >ほんとにそんなことをしていいかどうかは求められてる仕様や環境次第。 ほとんど否だろ?もしくはしないほうが望ましいとされるだろうな。 自分に有利な条件を想像すんなよ。 「認められる仕様があるかもしれない」って都合の良い言い方だよな。 90-10ぐらいでほとんど認められない状況を、可否は判断できないとして 強引に50-50まで戻せるんだからw なんで、そこまでしてむりくり正当化して自分の無知を認めたがらないのかね
- 146 名前:nobodyさん mailto:sage [2009/09/20(日) 20:04:08 ID:???]
- >>144
その意味不明な改行の仕方といい自演バレバレですよ?
- 147 名前:nobodyさん mailto:sage [2009/09/20(日) 20:15:01 ID:???]
- ID出ない弊害だな。
- 148 名前:nobodyさん mailto:sage [2009/09/20(日) 20:39:04 ID:???]
- IDなんていくらでも変更できる
自演の中身は文章で判断するしかない 偉い人にはそれがわからんのですよ
- 149 名前:nobodyさん mailto:sage [2009/09/20(日) 21:09:34 ID:???]
- ぶっかけ秋田。どっちでもいい。
- 150 名前:nobodyさん mailto:sage [2009/09/20(日) 21:19:00 ID:???]
- >>148
こういうとき使うのは逆。
- 151 名前:nobodyさん mailto:sage [2009/09/20(日) 23:35:57 ID:???]
- >>145
とりあえずお前が、技術的に問題ない という日本語の意味を理解してないのは理解した
- 152 名前:nobodyさん mailto:sage [2009/09/21(月) 00:39:40 ID:???]
- ここまで全部俺の自演
- 153 名前:nobodyさん mailto:sage [2009/09/21(月) 11:40:40 ID:???]
- >>151
とりあえずお前が、日本語を理解してないのは理解した
- 154 名前:nobodyさん mailto:sage [2009/09/21(月) 14:04:37 ID:???]
- 複数のaspxが同じcsを指すのって普通に使ってたんだが・・・
褒められた作りじゃないにしても、いまの所これが原因で動作がおかしくなったとかは無い。
- 155 名前:nobodyさん mailto:sage [2009/09/21(月) 14:16:06 ID:???]
- >>154
>褒められた作りじゃないにしても、 いや、だからみんなこれを言ってるんだろ 。
- 156 名前:nobodyさん mailto:sage [2009/09/21(月) 15:20:59 ID:???]
- なに?またループさせたいの?
褒められた作りじゃないが、有りといえば有り。 ↓ いや無しだろ。動く動かない以前の問題だ ↓ 最初に戻る
- 157 名前:nobodyさん mailto:sage [2009/09/21(月) 16:47:03 ID:???]
- TableAdapterを使う場合にトランザクションかけられないのが
ものすごく不便に感じていたがReflection使えばよかったんだな。 weblogs.asp.net/ryanw/archive/2006/03/30/441529.aspx ちょっと無理矢理な気もするが、自前で全部用意するよりはかなり楽になりそうだ。 今まで「TableAdapterつかえねー」の一念だけで、ろくに調べもしなかった自分に反省。 個人的にはこれで使わない理由はなくなった。ちょっと試してみよう。
- 158 名前:nobodyさん mailto:sage [2009/09/21(月) 18:47:39 ID:???]
- 必要ないインスタンスが生成されるのを「有り」とする人が多いのに驚いた
>>157 TransactionScope使えばかけられるんじゃないの? blogs.msdn.com/nakama/archive/2008/10/23/transactionscope.aspx リフレクションは便利だけど、遅いしコンパイルのチェックが入らないから美しくない 最低減で使う分にはいいけど、メソッドの呼出とかで使いまくってる奴をみると C#という静的言語を一体なんだと思っているのかと小一時間チクビ舐めてやる
- 159 名前:nobodyさん mailto:sage [2009/09/21(月) 18:51:28 ID:???]
- >>156
俺も無しに一票だな 今、テレビ見てたんだが、「第二音声では英語で実況しています」というテロップが日本語で入っていた つまり、こういうことだ 日本語でアナウンスしてしまったから、英語で聞きたい人に伝わらないけど、 いちおう第二音声で実況しているから有り ↓ いや無しだろ。英語で実況しているしていない以前の問題だ。 ↓ 最初に戻る←いや戻らない戻らないwww 英語でテロップだせよww
- 160 名前:157 mailto:sage [2009/09/21(月) 18:52:15 ID:???]
- >>158
TransactionScopeは、むかーしになんかの理由で 使えないなーって判断した記憶があるが忘れたな。 もう一回調べてみる。ありがとう。
- 161 名前:nobodyさん mailto:sage [2009/09/21(月) 19:04:48 ID:???]
- MS-DTCが使えないとか、サーバの関係かな?
使えると便利なんだけどね。TeansactionScope。 結局なんだかんだいって、SQLサーバにすべてクエリ登録して、 アプリ側ではストアドだけ呼び出すのが正しいのかなという気がするよ。
- 162 名前:nobodyさん mailto:sage [2009/09/21(月) 22:11:19 ID:???]
- 駄目な相対化の例をこんなとこでも見るとは・・・
- 163 名前:nobodyさん mailto:sage [2009/09/22(火) 00:49:26 ID:???]
- いつか誰かが突っ込むだろうと思ってずっと待ってんだけど、なんで誰も指摘しないの?
馬鹿っぷりを曝け出してる様をみてニヤニアしてんの? つーわけで 不 要 な イ ン ス タ ン ス っ て 何 ? TextBox1,2,3があるページと、TextBox1,3,4があるページの両方が同じ分離コードをさしてる として、片方のページを表示してるとTextBox1,2,3,4のインスタンスが出来るとでも思ってる の?馬鹿なの?死ぬの?
- 164 名前:nobodyさん mailto:sage [2009/09/22(火) 11:06:33 ID:???]
- >>163
ASP.NETの勉強をし直してからまたおいでね
- 165 名前:nobodyさん mailto:sage [2009/09/22(火) 12:44:19 ID:???]
- >>139
> メンバ変数として宣言されてるコントロールを一切使用しないなんて、 > asp.net以前にオブジェクト指向の設計として間違ってるような気がするのは俺だけ? 逆だろ。 自動生成されたメンバ変数を使いつつ、コードを共有したいから、 共通の基底クラスを継承するのではなく、コードビハインドを共有するんだろ。 共通の基底クラスを継承する場合は、 基底クラスでは全てのコントロールをFindControlしなければならないが、 コードビハインドの共有なら、共通のコントロールに限り、メンバ変数が使える。
- 166 名前:nobodyさん mailto:sage [2009/09/22(火) 13:11:19 ID:???]
- >>163
彼の主張する不要なインスタンスについては>>139に書いてある内容だと思う >ロジックを記述するパーシャルクラス(ページなんちゃら.aspx.cs)と、 >コントロールなどのメンバ変数を宣言する.aspxが自動生成するパーシャルクラスの >二つが作られるわけでしょ? バージョンもWEBサイトかWEBアプリかも特定せずにメンバ変数を宣言するパーシャルクラスが自動生成されてるとか パーシャルクラス(宣言のコード)なのにクラスが二つ作成されるとか >コードビハインドは、そのメンバ変数を参照してる(からインテリセンスで補完してくれる)わけで コードビハインドだと勝手にメンバ変数参照してるとか メンバ変数参照してるからインテリセンスがきくとか >メソッド内では決して参照しないまったく関係無いコントロールのインスタンスをメンバ変数として保持し、 必ず存在しているコントロールじゃない限り、一々FindControl(>120)って発言を無視してるとか もうね、>>164のアンカーは自分に向けとけとしか
- 167 名前:nobodyさん mailto:sage [2009/09/22(火) 14:17:50 ID:???]
- 不要なインスタンス云々を言ってる奴って、型付DataSetとか絶対認めない・使わないのかなw
コード内でDataColumnsを定義するのがメンドクセーって理由だけで型付DataSetを使うと、使わない メソッドが腐るほど自動生成されるよね。それって無駄だから型付DataSetは使用禁止!ってル ール?w
- 168 名前:nobodyさん mailto:sage [2009/09/22(火) 15:44:08 ID:???]
- なんか急に関係ない話し始めたやつがいるぞw
- 169 名前:nobodyさん mailto:sage [2009/09/22(火) 16:40:24 ID:???]
- そもそもイミフな意見を、煽らんがために
エスパー解釈するから余計面倒なことになってるな。
- 170 名前:nobodyさん mailto:sage [2009/09/22(火) 17:42:14 ID:???]
- 流れを読まずに質問してみる。
ASP.NETが生成するhtmlが30MB位になって、クライアントPCにダウンロード完了してから 実際にブラウザに表示されるまで30分ほどかかるんだけど、なんか上手い改善策ある? サバーサイドの処理が重い訳じゃないので、どうしていいか分からなくて。
- 171 名前:nobodyさん mailto:sage [2009/09/22(火) 17:59:03 ID:???]
- 30分ワロタw
画像含まずにhtmlだけで30MB? いったいどんなシステムなんだよ。 ページ分けるしかないでしょ 必要な時に、必要な分だけしぼりこんで表示。
- 172 名前:nobodyさん mailto:sage [2009/09/22(火) 19:32:16 ID:???]
- >>165
>自動生成されたメンバ変数を使いつつ、コードを共有したいから、 >共通の基底クラスを継承するのではなく、コードビハインドを共有するんだろ。 逆だと思うのはコードの共有を目的とする観点からみてるから「逆」ってだけでしょ? ページごとに、そのページが所有するコントロールの変数を メンバ変数としてVisualStudioが宣言してるんだから、 VSつまりマイクロソフト的には1ページ1コードビハインド記述ファイルを前提ってことじゃないのってこと。 >パーシャルクラス(宣言のコード)なのにクラスが二つ作成されるとか クラスが二つなんて書いてないじゃん。作文? >必ず存在しているコントロールじゃない限り、一々FindControl(>120)って発言を無視してるとか だから必ず存在している場合は、メンバ変数として宣言されてるからそれを参照できるわけでしょ? ない場合があるからFindControlしてるわけで。 >メンバ変数参照してるからインテリセンスがきくとか インテリセンスが聞くのは、コントロールをメンバ変数に宣言してるパーシャルクラスを VSが自動生成してるからじゃないの?違うなら俺の間違いだな。すまなかった。 >もうね、>>164のアンカーは自分に向けとけとしか >>164は俺じゃないよ
- 173 名前:nobodyさん mailto:sage [2009/09/22(火) 19:35:00 ID:???]
- やっぱそうだよなぁ。もはやページングしか残されてないよなぁ。
画像含まず、TextBoxとDropDownListとLabelとCheckBoxだけで構成されてるのに、htmlソース で30MBとかいきます。ページングにすると更新のタイミングとかウザイんですよねえ。 俺オワタ
- 174 名前:nobodyさん mailto:sage [2009/09/22(火) 19:41:58 ID:???]
- >>166
>>メソッド内では決して参照しないまったく関係無いコントロールのインスタンスをメンバ変数として保持し、 >必ず存在しているコントロールじゃない限り、一々FindControl(>120)って発言を無視してるとか それから例えとして書いてるのに、それを本筋に当てはめて見当違いのレスするのは止めようよ。 「クラスで例えれば〜という感じになると思うんだ。」って書いてるじゃん。 そういうように書いてるぐらい「アホ」なやり方をしているっていうわけで、 そういうような仕組みでASP.NETが動いてるなんてかいちゃいないだろ? >TextBox1,2,3があるページと、TextBox1,3,4があるページの両方が同じ分離コードをさしてる >として、片方のページを表示してるとTextBox1,2,3,4のインスタンスが出来るとでも思ってる >の?馬鹿なの?死ぬの? これも同じ。だれも作られるなんて言ってないだろ? メンバ変数で宣言されてるのにそれを参照しないコードの書き方がおかしいんじゃないのっていってんの。 つまり、おまえの批判はこういう的外れなことをいってるわけ。 酒井法子って覚醒剤やってたんだな・・・ これで逮捕されてもう芸能界じゃやっていけないだろ ↓ ほんとだな万引きで捕まったぐらい恥ずかしいよな ↓ お前バカじゃねぇ?酒井法子は万引きで捕まったんじゃねーよ。 ひょっとして万引きで捕まったとおもってんの?バカなの?死ぬの? こんな感じ
- 175 名前:nobodyさん mailto:sage [2009/09/22(火) 19:59:09 ID:???]
- シルバーウィーク進行中
- 176 名前:nobodyさん mailto:sage [2009/09/22(火) 20:18:47 ID:???]
- >>172
クラス2個作られるのが俺の作文だっていうなら >ロジックを記述するパーシャルクラス(ページなんちゃら.aspx.cs)と、 >コントロールなどのメンバ変数を宣言する.aspxが自動生成するパーシャルクラスの >二つが作られるわけでしょ? を解説してくれ そして、 >必要ないインスタンスが生成されるのを「有り」とする人が多いのに驚いた の必要ないインスタンスとは何か説明してくれ
- 177 名前:nobodyさん mailto:sage [2009/09/22(火) 20:22:23 ID:???]
- >>173
こないだの1000だか3000だか5000だかの 大量のコントロールを埋め込もうとしてた人?
- 178 名前:nobodyさん mailto:sage [2009/09/22(火) 22:49:18 ID:???]
- >>173
1000とか3000とか5000とかそんな桁じゃないんで違う人です。1桁違う。 5万コントロールとか10万コントロールとかそういう数なんで。
- 179 名前:nobodyさん mailto:sage [2009/09/22(火) 23:41:39 ID:???]
- もはや御愁傷様としか…w
- 180 名前:nobodyさん mailto:sage [2009/09/23(水) 00:08:00 ID:???]
- >>178
何をやってるのか、ぜひ教えてくれ。 面白そうだ。 30分かけて表示されたページは、まともに動くの? あと、 >>172 >>176 メールでやれ。
- 181 名前:nobodyさん mailto:sage [2009/09/23(水) 00:42:51 ID:???]
- 複数のaspxのbehind-codeが共有されてるのに拒否反応示す人が多いのに驚いた。
幾つかのProjを見てきたけど、使ってるところは多い。別に禁断の技とか行儀の悪い実装 と言うことも無く、現場によっては普通に使われるテクニック。まあ、有効な局面が限られる と思うが。 ちなみに「VisualStudio様がデフォで作ってるんだからそれが前提」とか書いてるけど、VS が吐き出した自動コードをあとから手で書き換えるとか、半ば当然だと思うが。VS様はそ んなに柔軟でもないし、賢くもない。
- 182 名前:nobodyさん mailto:sage [2009/09/23(水) 00:52:11 ID:???]
- >>181
いろいろ書きたくなっちゃうのは分かるけど、もういいから。
- 183 名前:nobodyさん mailto:sage [2009/09/23(水) 02:36:28 ID:???]
- >>170
設計者氏ねとしか言いようが無いな
- 184 名前:nobodyさん mailto:sage [2009/09/23(水) 04:15:41 ID:???]
- ASP.NET AJAXでWEBアプリケーションを開発しています。
JQueryのリッチなUIも交えて、開発したいのですが、以下のSilverLightの例のように、 HTML要素クリック時、あるいは、JavaScriptのメソッドからCSファイルのC#の メソッドを実行するようなことはできないのでしょうか? www.atmarkit.co.jp/fdotnet/dotnettips/891slcallfromjs/slcallfromjs.html 当方、かなり初心者なので、無茶苦茶な質問をしているかもしれません。
- 185 名前:nobodyさん mailto:sage [2009/09/23(水) 05:33:46 ID:???]
- >>176
>を解説してくれ クラスは一個 その一つのクラスのパーシャルクラスが2個 >の必要ないインスタンスとは何か説明してくれ 必要のないインスタンスは必要のないインスタンスだ それ以上でも以下でもない 動作するからといって、1行ごとにSleep噛ますのは意味ないよな? それと同じように、1行ごとに必要ないインスタンスを生成しても意味ないっていってんの。 換言すれば、「動作するからといって1行ごとにSleepいれるのをアリとする人が多いのに驚いた」でもいいぞ? ただし技術的に問題ないって主張してる人は、Sleep噛ましても動けばokらしいよ Sleep噛ましても問題ないぐらいだから、1行ごとに不必要なインスタンス生成するぐらい余裕で許容すると思うけどww >>144に書いてある。
- 186 名前:nobodyさん mailto:sage [2009/09/23(水) 05:53:29 ID:???]
- >>184
HTML要素がOnClickイベントを持っていて、フックしてClientScriptを実行できるなら 一番簡単なのは、ポストバックイベントを発生させることのできるコントロールを設置して それをJavaScriptで実行させるのが一番簡単。 例えばボタン、ハイパーリンクとかをObject.Click();すればいい。 必要ならスタイルシートで背景と同化させるとか、見えなくさせたり。 まじめにやるならこのへんで msdn.microsoft.com/ja-jp/library/system.web.ui.clientscriptmanager.getpostbackeventreference.aspx
- 187 名前:nobodyさん mailto:sage [2009/09/23(水) 08:31:09 ID:???]
- >>181
具体性の無いレスはいらないから
- 188 名前:nobodyさん mailto:sage [2009/09/23(水) 15:01:49 ID:???]
- メールでやらないなら、IDだしてやってくれないかな。NGすっから。
- 189 名前:nobodyさん mailto:sage [2009/09/23(水) 16:01:00 ID:???]
- >>185
いい加減空気嫁
- 190 名前:nobodyさん mailto:sage [2009/09/23(水) 16:57:49 ID:???]
- >>186
おお!! まさに知りたかったことです。ありがとうございます。 ModalPopupExtenderのときもダミーコントロールを使用した経験がありますが、 結構ダミーとして使うことってあるんですね!!
- 191 名前:nobodyさん mailto:sage [2009/09/24(木) 14:23:39 ID:???]
- IEだと問題なくて、FirefoxだとLinkButtonを押してもPostBackされないのは、どこを直せば
対応出来ますか? 以前の案件ではIE/FF/Opera/Safari/Chrome全部で動いてたはずなのに、今作って確認したら IEでしか動かない('A`
- 192 名前:nobodyさん mailto:sage [2009/09/24(木) 14:39:55 ID:???]
- >>173
データベースならDataSet、固定のデータならArrayを持ち回りすれば更新関係が楽になるんじゃない? DataSet、ArrayはSerializableだったはずだったから、これをセッションで持ってて これを元にページングして表示し編集させる。 最後に更新ボタンがあって、これをクリックすると、それまで編集されたデータを一斉に更新するとか。 つまりページングや編集は、セッションで持ってるデータに対して行って、 最後に更新ボタンを押した瞬間に、編集された行のみ必要なら整合性チェックして保存していくような感じで。
- 193 名前:nobodyさん mailto:sage [2009/09/24(木) 14:41:20 ID:???]
- >>191
まずLinkButtonだけを設置したテストページでポストバックしないかどうかをチェックして。
- 194 名前:nobodyさん mailto:sage [2009/09/25(金) 11:15:43 ID:???]
- 要件で定義されてる上限まで行数増やしてページ表示させたら、ページ上のコントロールの
数が16万超とかマジでどんだけーw 12時間経ってもまだ入力出来る状態にならないw >>192 ページングも案の一つだったんですが、グーグルクルムが思った以上に軽いんで、もしかす ると「IEで重いようならクルム使ってね」で逃げるかも。
- 195 名前:nobodyさん mailto:sage [2009/09/25(金) 12:17:35 ID:???]
- >>194
どうしても大量のデータ一覧表示しつつ、ぽこぽこ書き換えたいなら、 1レコード毎の書き換えが可能ならば、表示はテキストのみにして、行のクリックかなにかで入力できる形にjavascriptで書き換えて、入力完了したら 行ごとにajaxかなんかで書き換えするようにするかなぁ。
- 196 名前:nobodyさん mailto:sage [2009/09/25(金) 13:02:30 ID:???]
- >>194
ASP.NET vs 人間、ストレステストのネタとして最適ですね。
|

|