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


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

【質問】ASP.NETスレ Part6【雑談】



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/


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 人間、ストレステストのネタとして最適ですね。

197 名前:nobodyさん mailto:sage [2009/09/25(金) 19:58:58 ID:???]
>>194
IEは</table>が来るまで描画しないと思うので、
全体を一つのtableで囲むのを止めたらどうだろう
そしたら送られてくるhtmlごとに上から順番に描画してくれると思う。
ASPのほうでも、その都度、ブラウザに送信するとかの設定も必要だったはず。

198 名前:nobodyさん mailto:sage [2009/09/25(金) 20:31:25 ID:???]
>>197
一番外側に大きなTABLEタグがあって、それはもう削除し様が無いのです('A`

ところで、この巨大なGRID形式の入力ページを、最初は市販のコンポーネントを買って実現し
ようか迷ってたんです。Grea○CityのSPR○AD .NET3J

Repeaterでひたすら自分でクルクル輪姦してhtmlを生成するのとどっちがよかったんかなぁ。
初めて使うコンポーネンツで躊躇したのと、軽量シンプルなhtmlを吐き出すのはrepeater使用
時だろうという推測で結局コンポーネントは使わなかったんですが、実は使ってた方がレスポ
ンス向上してたのかなぁ。こればっかりは今でも分かりません。

199 名前:nobodyさん mailto:sage [2009/09/25(金) 20:44:18 ID:???]
>>198
今は自前でResponse.Writeなりしてるってこと?
想像だけど、Repeaterのほうが遅いと思う。
何万件とかなら、どんなコンポーネントを使っても快適とかはないと思うよ。
数が変化するなら、アプリで作っても通信だけで相当な時間がかかると思うし。

こうなったら、エクセルに出力させて編集させて、
今度はCSVファイルをアップロードして登録とかにしたら?

200 名前:nobodyさん mailto:sage [2009/09/26(土) 08:44:34 ID:???]
>>198
GrapeCityのサイトでデモ使ってみたことある?
うちでは超遅かったよ

201 名前:nobodyさん mailto:sage [2009/09/26(土) 15:17:01 ID:???]
久しぶりにきたが
まだ大量のコントロール使ったときの話してるのか?




ところで、asp.net のワーカープロセス(aspnet_wp.exe)の更新がきてるが
修正内容がまだわからんな。

しばらくしたら KnowledgeBase に載るとは思うが。
support.microsoft.com/kb/9674165

202 名前:nobodyさん mailto:sage [2009/09/26(土) 19:51:06 ID:???]
>>201
今ホットなのはコードビハインダー

203 名前:nobodyさん mailto:sage [2009/09/26(土) 20:15:29 ID:???]
おまいら、ドメインモデルどうですか。
おいらはまだ勉強中なので、ドメインモデルが何かすらきちんと説明できませんが。

↓ASP.NETでやってる人もいますよ
ドメインモデル VS トランザクションスクリプト
pc11.2ch.net/test/read.cgi/php/1241341332/42



204 名前:nobodyさん mailto:sage [2009/09/26(土) 23:49:54 ID:???]
asp.netでのドメインモデルってやりにくくないかえ?
WebServiceありのサーバサイドありのJavaScriptでドメインモデルってやってられねーって感じ。
更にAJAXなんて入ってきたら設計で死ねるw。
VirtualBoxのソースを読んでても思うけど「管理大変そう」w。

205 名前:nobodyさん mailto:sage [2009/09/28(月) 04:18:26 ID:???]
マスターページについて質問です。
ある子ページでのみ必要なcss, jsがあるのですが、
マスターページ自体をいじることなくインポート出来ないでしょうか。

マスターページのheadタグ内にcontentPlaceHolderを置くことで、
子ページからhead要素にアクセスすることは出来ましたが、
これだとビルドの度に警告が表示されて鬱陶しく感じます。

206 名前:nobodyさん mailto:sage [2009/09/28(月) 08:03:54 ID:???]
マスターページを入れ子にするとか?

207 名前:nobodyさん mailto:sage [2009/09/28(月) 09:14:36 ID:???]
警告を無視する。

CやC++の仕事の時は警告が1件でもあったらうるさく言われてたけど、C#は基本は警告無視。

208 名前:nobodyさん mailto:sage [2009/09/28(月) 13:07:10 ID:???]
コードで.jsファイルインポートしても警告でるっけ?
ClientScriptBlockほげほげとかいうやつ

209 名前:nobodyさん mailto:sage [2009/09/28(月) 17:14:16 ID:???]
>>205
>ビルドの度に警告が表示されて
普通にVS2008でマスターページ追加すると<head>の中に初めから
ContentPlaceHolder設置されてるんだが、どんな警告がでるんだ?


210 名前:205 [2009/09/28(月) 18:58:14 ID:Nc4wliQp]
VS2005無印 ASP.NET2.0ですが、
ContentPlaceHolderは不明な要素〜みたいな警告です。
あり得ないタグを使った時と同じ内容だったと記憶してます。
家では環境構築してないので…すみません。

警告は無視する方向で行きます。
ありがとうございます。

211 名前:nobodyさん mailto:sage [2009/09/28(月) 19:18:41 ID:???]
HtmlLink link = new HtmlLink();
link.Href = "StyleSheet.css";
link.Attributes.Add("rel", "stylesheet");
link.Attributes.Add("type", "text/css");
Master.Page.Header.Controls.Add(link);

212 名前:nobodyさん mailto:sage [2009/09/28(月) 19:41:37 ID:???]
普通にこれ使えばいいんじゃないの?
msdn.microsoft.com/ja-jp/library/system.web.ui.clientscriptmanager.registerclientscriptblock.aspx

マスターページを適用した一部のページだけなんだから、
その一部のページのコードビハインドファイルに記述すればいいじゃない?

213 名前:nobodyさん mailto:sage [2009/09/29(火) 22:38:09 ID:???]
ListBoxでプルダウン選択したときに、Labelの値をViewStateから持ってきて変更したいのですが、
ポストバックしないで実装する方法はありますでしょうか?



214 名前:nobodyさん mailto:sage [2009/09/29(火) 22:47:27 ID:???]
213です。
ListBoxではなく、DropDownListの間違いです。すみません。

215 名前:nobodyさん mailto:sage [2009/09/29(火) 23:22:25 ID:???]
>>214
漏れはフルECMAscriptで実装しました。
MS的にはポストバックして欲しいみたいなのでオススメしない。

216 名前:nobodyさん mailto:sage [2009/09/29(火) 23:34:57 ID:???]
>>213
ViewStateって何のViewStateなのかな。
HiddenFieldに格納した情報を、DropDownListのIndexをキーにClientScriptで取得して
Labelに表示すればいいような気がするけど。

217 名前:215 mailto:sage [2009/09/30(水) 00:15:29 ID:???]
>>216 見て気づいたがViewStateからは直接値取れないわ。謎のルールでエンコードされた文字列を解析せにゃならん。
Hiddenに書くのも癪だったので全部JSのArrayに定義して、ClientScriptに登録した。

218 名前:nobodyさん mailto:sage [2009/09/30(水) 14:20:16 ID:???]
IISの稼動しているサーバーがActiveDirectoryに参加している場合
ASP.NETで統合Windows認証をすればActiveDirectoryに参加している
クライアントのみ受付可能ですか?

219 名前:nobodyさん mailto:sage [2009/09/30(水) 19:48:28 ID:???]
213です。
やりたかったのは、DropDownListの選択値と一対一に対応する文字列をポストバックしないで
クライアントサイドで表示させたかったのですが、
とりあえず今日調べたところ、ViewStateを使うまでも無くDataTextFieldとDataValueFieldを使って
Labelの表示を変更することができました。
(DataValueFieldが一意の値しか認めないというバグを知らず、かなり悩みましたが・・・)
それでも、相変わらずポストバックは必要な状態で止まってます。

ClientScriptで取得して表示できるとの事ですが、具体的な実装方法を示したサイトなどご存知でしたら
教えていただけますでしょうか?

220 名前:nobodyさん mailto:sage [2009/09/30(水) 20:41:22 ID:???]
あくまで例えばだけど、
<head runat="server">
 <script language='JavaScript'>
  function Change(obj) {
   Label1.innerHTML = testArray[obj.selectedIndex];
  }
 </script>
</head>
<body>
 <form id="form1" runat="server">
  <asp:DropDownList ID="DropDownList1" runat="server" onChange="Change(this);">
  </asp:DropDownList>
  <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
 </form>
</body>
</html>


221 名前:nobodyさん mailto:sage [2009/09/30(水) 20:42:05 ID:???]
protected void Page_Load(object sender, EventArgs e)
{
 int loopCnt = 1;
 string clientScript = "";
 while(loopCnt <11)
 {
  this.DropDownList1.Items.Add(loopCnt.ToString());
  clientScript += "'"+loopCnt.ToString() + "',";
  loopCnt++;
 }
 clientScript = clientScript.Substring(0, clientScript.Length - 1);
 clientScript = "<script language='JavaScript'>var testArray = new Array(" + clientScript + ")</script>";
 Page.RegisterClientScriptBlock("ClientScript", clientScript);
}

使っちゃいけないのを使ったり、汚いコードはご愛敬で。


222 名前:nobodyさん mailto:sage [2009/09/30(水) 21:22:20 ID:???]
ListBoxに加えられた項目をアルファベット順に並び替えるにはどうすればよいのでしょう?
WindowsFormではSortプロパティがあるのですが、ASP.NETのListBoxにはありません。
一旦全部配列に抜き出して、並び替えた後に順番に追加していくしかないのでしょうか?
スマートな方法をご存知の方、よろしくお願いします。

223 名前:nobodyさん mailto:sage [2009/09/30(水) 21:46:58 ID:???]
LINQでも使って並び替えるしかないんでないかな
ASP.NETは追加とかソートはポストバックしないとできないから、
コントロールにソートの項目がないのかもしれないね



224 名前:215 mailto:sage [2009/10/01(木) 01:12:00 ID:???]
>>219
Literalって変換されたらプレースホルダ無くなるよね。下の例はInputフィールドに適用する場合。

var script =
@" function updateField(v) {{ $get(""{0}"").value = v; }}"
String.Format()で0にInputフィールドのClientIDを指定、
RegisterClientScriptBlockで登録

DropDownListのOnChangeに上のfunction呼び出しをサーバサイドで登録。

updateField(this.options[this.selectedIndex].value)

OnChangeをクライアントサイドで登録する場合は$addHandlerでやらないといけない。
iphone で適当に書いてるから間違えてたらゴメン。

225 名前:nobodyさん mailto:sage [2009/10/01(木) 01:41:28 ID:???]
>>219
どうしてもポストバックさせちゃダメなのか?
クライアント側のスクリプトすらすら書けるレベルないと、実装例みても
理解できないんじゃないかな

とりあえずUpdatePanelつかうと幸せになれるかもしれないぞ


226 名前:nobodyさん mailto:sage [2009/10/01(木) 11:19:54 ID:???]
ASP.NETからOracleに接続する方法でOracleClient無しで
接続できるものはありますか?
例えばJavaのJDBCはJDBCドライバだけあれば接続できるので
そのようなものがあればありがたいのですが・・・

227 名前:nobodyさん mailto:sage [2009/10/01(木) 14:54:33 ID:???]
>>226
パフォーマンスがいいかわからないけど
たいていのDBでODBC接続はできる。
oracleもたぶんodbcでつながるとおもうよ
ドライバも標準ではいっていたような

228 名前:nobodyさん mailto:sage [2009/10/01(木) 15:03:06 ID:???]
ASP.NETって素晴らしいフレームワークだと思うんだけど
(一部のExtenderコントロールを除いて)
なんで?

229 名前:nobodyさん mailto:sage [2009/10/01(木) 15:23:48 ID:???]
>>227
たしか標準のオラクルODBCドライバはオラクルクライアントが必要
JDBC以外でオラクルクライアントなしでつながる物はしらない


230 名前:nobodyさん mailto:sage [2009/10/01(木) 16:18:31 ID:???]
へじタソが優秀なんじゃね?

231 名前:nobodyさん mailto:sage [2009/10/01(木) 16:41:38 ID:???]
>>227, 229
ありがとうございます。
やはりオラクルクライアントは必要そうですね。


232 名前:227 mailto:sage [2009/10/01(木) 18:17:30 ID:???]
>229 >231
ODBCはOpen DataBase Connectivity の略だし、共通の規格だから動くんじゃないの。
オラクルの商用製品ソフトウェアが必要なのは、オラクルのネイティブな接続では。
ODBCは準拠してる製品なら、どのDBでも接続できると思ったよ。
接続できないとOpenじゃないし。下のぐぐった結果みてもできそう。


e-words.jp/w/ODBC.html
ODBC
フルスペル : Open DataBase Connectivity

ODBCとは、Microsoft社によって提唱された、データベースにアクセスするため
のソフトウェアの標準仕様。各データベースの違いはODBCドライバによって吸
収されるため、ユーザはODBCに定められた手順に従ってプログラムを書けば、
接続先のデータベースがどのようなデータベース管理システムに管理されている
か意識することなくアクセスできる。

233 名前:nobodyさん mailto:sage [2009/10/01(木) 18:20:25 ID:???]
でもODBCの設定画面を開くとTNS名を入れろって言われるから
やっぱりオラクルクライアントが必要だと思う。



234 名前:227 mailto:sage [2009/10/01(木) 18:20:27 ID:???]
もういっこ検索結果を。

www.amy.hi-ho.ne.jp/jbaba/messages/1553.html

Oracleのサイトから落とせるODBCドライバでいけるそうな。
標準のODBCドライバとどう違うかは不明。



235 名前:nobodyさん mailto:sage [2009/10/01(木) 19:09:47 ID:???]
ODBCってのは、アプリがDBを操作する方法をオープンな規格でやりましょう、って話だ
ドライバがDBと通信する方法を既定しているものではない
ODBCドライバが存在すれば、どんなDBでもODBC経由でアプリから接続できるってこと






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

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

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