【質問】ASP.NETスレ Part6【雑談】at PHP
【質問】ASP.NETスレ Part6【雑談】 - 暇つぶし2ch116:nobodyさん
09/09/19 17:07:25
>>115
>3つのaspxが指すコードが全て同じものを指してる
この発想はなかったわ。どう考えてもNGだろ。

117:nobodyさん
09/09/19 19:01:05
メリットが思いつかないな

118:nobodyさん
09/09/19 19:39:44
メリット
単純にコード記述量を減らせる。つまり試験工数も減るし、バグも減る。いい事尽くし。

3つのパターンで画面入力させるんだけど、画面上の項目が微妙に違う。(画面上の100項目の
うち10項目ほど)無論、3パターンを1画面でまかなって、区分によって項目のVisibleを制御
するのでもいいんだけど、いっそ3画面分のaspxを用意して、裏のcsは共通にしてしまおう、
と。デザイン指定が超絶シビアなので、Visibleで出したり隠したりとかしたくなかった。

基底クラスを継承、の場合でも、例えばボタンをクリックした場合のイベントはやっぱ3画面
それぞれ必要だよね。csが1つならとことんコード量を減らせる訳で。


まあ、「コード量が少ない」と「メンテしやすい」は等価じゃないけど。


119:nobodyさん
09/09/19 19:40:53
>>116
すいません、NGの理由ってなんでしょうか?

120:nobodyさん
09/09/19 20:00:26
自己フォロウ
開いてる画面によってはコントロールがあったり無かったりするので、不用意に

TextBox1.Text = "ほげ~";

とか書けなくなる。全画面共通で必ず存在しているコントロールじゃない限り、一々FindControl
でコントロールを探さなきゃならない。

デメリットってこれぐらいだと思うンすけど。

121:nobodyさん
09/09/19 21:09:11
余りに阿呆らし過ぎて説明する気もおきん。
コボラ相手にしてる気分だ。
いいと思うならやればいいんじゃないンすか?


122:nobodyさん
09/09/19 21:16:18
>>121
ページが最終的にコンパイルされる仕組みを理解していれば、特に何の問題も無いわけだが?
理解出来ないなら黙ってた方が無知を晒さずに済むと思われ。

123:nobodyさん
09/09/19 21:22:24
ここのページに個別にJavaScriptを設定したくてもできなかったりとか
コントロール名を変更しても反映されなかったりとか
不必要なイベントハンドラメソッドが増えるとか
インテリセンスが意味をなさなくなってバグの温床になるとか

124:nobodyさん
09/09/19 21:32:36
それは、そういうデメリットもあるから、メリット・デメリットを天秤にかけて考えてね。
ってだけの話で、やってはいけない。という理由にはならない。
でもまあ、個人的には動けば正義だと思ってる

ちなみに「不必要なイベントハンドラメソッドが増えるとか」これだけ意味不明。



125:nobodyさん
09/09/19 21:45:24
>ちなみに「不必要なイベントハンドラメソッドが増えるとか」これだけ意味不明。
ボタンの数だけイベントハンドラメソッドが増えるでしょうが。
各ページに5個のボタンがあって、それぞれ別動作してたら15個のメソッドが存在することになる。

>でもまあ、個人的には動けば正義だと思ってる
保守性が下がるからやってはいけない
他人が見てもわけわからないことになるからやってはいけない
重複させるとインスタンス時に余計なサーバ資源を消費するからやってはいけない。
インテリセンスの動作が無駄になりバグの温床になるからやってはいけない。
エラー発生時にハイライトされた行が、どのページのエラーなのか一別しか分かりにくいからやってはいけない。
ページ初期化時に表示ページとは関係無い初期化にリソースが消費されるのでやってはいけない。

>それは、そういうデメリットもあるから、メリット・デメリットを天秤にかけて考えてね。
>ってだけの話で、やってはいけない。という理由にはならない。
デメリットのほうが圧倒的に大きいから「やってはいけない」ということでしょ。
単に自分がやってることを否定されたくないから、難癖つけて認めさせたいようにしか見えない。

126:nobodyさん
09/09/19 21:46:50
各ページに5個のボタンがあって、それぞれ別動作してたら15個のメソッドが存在することになる。

3枚の各ページに5個のボタンがあって、それぞれ別動作してたら15個のメソッドが存在することになる。


127:nobodyさん
09/09/19 21:55:05
>126
普通、そういうケースではさすがにこんなヒネたコードは書かんだろ常考。
各画面にボタンが5個あって、ページに関係なく処理が同じ(前画面に戻るとか)

15個のメソッドが必要なところを5個で済む

ていう事を言いたいんジャマイカ?


128:121
09/09/19 22:11:27
>>122
アホかw本来別にすべきものをまとめて、
何がコンパイル時には一緒になるからだ。
App_Code以下が単一dllになるからって、
1クラスに全部まとめて書くか?書かないだろ?
なぜだ?責務が異なるものは、分けるのが当たり前だからだろ?

ある画面専用の処理が追加になったらどうするんだ?
他の画面からしたら、全く関係のない処理があるクラスを実装してることになるぞ。
リファクタリングを一回でもやったことがあれば、
それがどんなにアホなことか分かるよな。

月日が経って、そのクラスを実装するaspxが増えたらどうなる?
その度にif文やFindControl判定が増えていくのか?
なんとも素晴らしい設計だな。

仕様変更時には影響範囲が特定できず、
ある画面だけの修正なのに、処理が重なっているために
全画面の動作検証を行わねばならなくなったりしないか?

つか、高凝集密結合が良くないなんて、学生でも分かるだろ?

で、業務上、そういうことにはならないように気を使ってますとでも言うのなら、
先に述べたように、お好きにどうぞってこった。

129:nobodyさん
09/09/19 22:26:02
多分元の質問者は「技術的に問題ありますか?」って事を聞きたいだけだと思われ。
そういう意味では「注意深く作るなら、別に問題はない」が回答。

ただし「将来的なメンテとか拡張とか修正とか考えると、3画面分まとめて1ソースに
すると身動き取れなくなったりしない?止めとけば?」ってのが周りのアドバイス。


130:nobodyさん
09/09/19 23:06:31
>>127
>ちなみにFormX.aspxは3つとも微妙に違っていて、載ってるコントロールなんかも違います。
って言ってるぞ。


131:nobodyさん
09/09/20 06:26:46
知識のない奴が一人前に提案して
不備を指摘されると逆ギレ
誤りを認めたくないから強弁するってガキの流行なんか?

132:nobodyさん
09/09/20 14:01:24
>>130
で?

133:nobodyさん
09/09/20 14:03:21
俺が認めない方法は許さない。
って馬鹿の粘着キモイ

>129 で出てる回答が全て。あとは自分で判断しろってことで終了。

134:nobodyさん
09/09/20 15:36:43
>>133
技術的に問題があるかどうかなんて聞いてないよ
本人は技術的には問題ないことを理解した上で、メリットデメリットの話をしてるんだから。

技術的に問題無いことを理解している発言は>>122でしてる。(技術的に)何の問題もないと。
メリットとデメリットの話をしようとしているのは>>120を見れば分かる。デメリットうんたらかんたらと。

135:nobodyさん
09/09/20 16:07:08
エスパー登場

136:nobodyさん
09/09/20 16:48:16
なんか、ある事例を今の我が事のように感情移入してしまう人が居ますが、
その3画面での共用する方法はある意味、仕組みを熟知して使い倒してますなw
ネイティブアプリでの共有ライブラリ、DLLの様ように。
禁止事項ではないから、開発&保守が効率的であればそれも選択肢としてアリだと思う。

137:nobodyさん
09/09/20 17:05:18
熟知しての実装なのか、無知ゆえの実装なのかはともかく(後者っぽいけど)、ケースに
よってはそういう手もあるのかと知ってちょっと感心した。

ビハインドコード共有!そういうのもあるのか

みたいなw
機能的に全く完全に差異がないけど、デザイン的にどうしようもない(ある仕入先と別の
仕入先で全く異なるデザインの画面)ケースなんかでは有効かも。

138:nobodyさん
09/09/20 17:09:01
>なんか、ある事例を今の我が事のように感情移入してしまう人が居ますが、
4:主観で決め付ける

>ネイティブアプリでの共有ライブラリ、DLLの様ように。
6:一見関係ありそうで関係ない話を始める

>禁止事項ではないから、開発&保守が効率的であればそれも選択肢としてアリだと思う。
1:事実に対して仮定を持ち出す
10:ありえない解決策を図る
12:決着した話を経緯を無視して蒸し返す

というか自演乙

139:nobodyさん
09/09/20 17:54:42
というか、aspxのページを新規生成すると、
ロジックを記述するパーシャルクラス(ページなんちゃら.aspx.cs)と、
コントロールなどのメンバ変数を宣言する.aspxが自動生成するパーシャルクラスの
二つが作られるわけでしょ?

後者はVSがページ毎に自動生成するからaspxと1対1になってる
コードビハインドは、そのメンバ変数を参照してる(からインテリセンスで補完してくれる)わけで
いくらpageのインスタンスを所有していて、そこからFindControlで操作したいコントロールを見つけられるとしても
メンバ変数として宣言されてるコントロールを一切使用しないなんて、
asp.net以前にオブジェクト指向の設計として間違ってるような気がするのは俺だけ?

クラスで例えれば、
メソッド内では決して参照しないまったく関係無いコントロールのインスタンスをメンバ変数として保持し、
メソッド内で操作したいコントロールのインスタンスは、すべてメソッドの引数として得て操作してるような感じ。
じゃあ、メンバ変数として所持してるインスタンスってなに?
その都度無駄にコントロールのインスタンスを生成するの?ってな感じになると思うんだ。

技術的に問題ないとか、問題なければやってもいいだろとか別次元の話だと思うんだけど。
動けば害はないし、禁止されてないからということで、1行ごとにThread.Sleepをしかけまくるみたいな。

140:nobodyさん
09/09/20 17:58:03
君さ、もう「宗教上の理由で俺は断固として認めない」とでも言えば?('A`

141:139
09/09/20 18:05:49
なんだかわからんが、初の書き込みなんだが
というかで始めたのがまずかったか

142:nobodyさん
09/09/20 18:13:57
すまんが

技術的な見地
思想的な見地
メンテや修正といった見地

で分けて議論?してくれ。じゃないと収束せんだろ。

>技術的に問題ないとか、問題なければやってもいいだろとか別次元の話だと思うんだけど。

じゃあ技術的には問題なし、思想的に不可。でいいじゃん。

143:nobodyさん
09/09/20 18:38:22
>>142
いや、技術的に問題ないわけないじゃんね。
それ以前の話。
無駄なあえてわざと無駄な変数宣言をしてインスタンスを生成することは
動くけど技術以前の問題だろ?
1行ごとにSleepかませたり、ところどころ無駄な変数を宣言してインスタンスを生成したり
技術とか思想以前の問題

144:nobodyさん
09/09/20 19:12:59
どうしても「俺が認めないものは認められない」つー馬鹿がいるな。
1行ごとにsleepかけようが、ASP.NET的には全然OK。

でもそういう実装が実際に許されるか否かは、そのアプリの目的に依存するんで可否を決
めようがない。

InProcで動いてる時にSessionに1GBのobjectを突っ込むのも、ASP.NET的には問題なし。
でもほんとにそんなことをしていいかどうかは求められてる仕様や環境次第。


技術以前の問題だっつーなら、技術以前の問題と技術的な問題に切り分けろよ。


145:nobodyさん
09/09/20 19:58:30
>>144
>どうしても「俺が認めないものは認められない」つー馬鹿がいるな。
お前のことか?

>1行ごとにsleepかけようが、ASP.NET的には全然OK。
>InProcで動いてる時にSessionに1GBのobjectを突っ込むのも、ASP.NET的には問題なし。
アホかよw

>そのアプリの目的に依存するんで可否を決めようがない。
>ほんとにそんなことをしていいかどうかは求められてる仕様や環境次第。
ほとんど否だろ?もしくはしないほうが望ましいとされるだろうな。
自分に有利な条件を想像すんなよ。

「認められる仕様があるかもしれない」って都合の良い言い方だよな。
90-10ぐらいでほとんど認められない状況を、可否は判断できないとして
強引に50-50まで戻せるんだからw

なんで、そこまでしてむりくり正当化して自分の無知を認めたがらないのかね

146:nobodyさん
09/09/20 20:04:08
>>144
その意味不明な改行の仕方といい自演バレバレですよ?

147:nobodyさん
09/09/20 20:15:01
ID出ない弊害だな。

148:nobodyさん
09/09/20 20:39:04
IDなんていくらでも変更できる
自演の中身は文章で判断するしかない
偉い人にはそれがわからんのですよ

149:nobodyさん
09/09/20 21:09:34
ぶっかけ秋田。どっちでもいい。

150:nobodyさん
09/09/20 21:19:00
>>148
こういうとき使うのは逆。

151:nobodyさん
09/09/20 23:35:57
>>145
とりあえずお前が、技術的に問題ない という日本語の意味を理解してないのは理解した


152:nobodyさん
09/09/21 00:39:40
ここまで全部俺の自演

153:nobodyさん
09/09/21 11:40:40
>>151
とりあえずお前が、日本語を理解してないのは理解した

154:nobodyさん
09/09/21 14:04:37
複数のaspxが同じcsを指すのって普通に使ってたんだが・・・
褒められた作りじゃないにしても、いまの所これが原因で動作がおかしくなったとかは無い。

155:nobodyさん
09/09/21 14:16:06
>>154
>褒められた作りじゃないにしても、
いや、だからみんなこれを言ってるんだろ


156:nobodyさん
09/09/21 15:20:59
なに?またループさせたいの?

褒められた作りじゃないが、有りといえば有り。

いや無しだろ。動く動かない以前の問題だ

最初に戻る

157:nobodyさん
09/09/21 16:47:03
TableAdapterを使う場合にトランザクションかけられないのが
ものすごく不便に感じていたがReflection使えばよかったんだな。
URLリンク(weblogs.asp.net)

ちょっと無理矢理な気もするが、自前で全部用意するよりはかなり楽になりそうだ。
今まで「TableAdapterつかえねー」の一念だけで、ろくに調べもしなかった自分に反省。
個人的にはこれで使わない理由はなくなった。ちょっと試してみよう。

158:nobodyさん
09/09/21 18:47:39
必要ないインスタンスが生成されるのを「有り」とする人が多いのに驚いた

>>157
TransactionScope使えばかけられるんじゃないの?
URLリンク(blogs.msdn.com)

リフレクションは便利だけど、遅いしコンパイルのチェックが入らないから美しくない
最低減で使う分にはいいけど、メソッドの呼出とかで使いまくってる奴をみると
C#という静的言語を一体なんだと思っているのかと小一時間チクビ舐めてやる

159:nobodyさん
09/09/21 18:51:28
>>156
俺も無しに一票だな
今、テレビ見てたんだが、「第二音声では英語で実況しています」というテロップが日本語で入っていた

つまり、こういうことだ

日本語でアナウンスしてしまったから、英語で聞きたい人に伝わらないけど、
いちおう第二音声で実況しているから有り

いや無しだろ。英語で実況しているしていない以前の問題だ。

最初に戻る←いや戻らない戻らないwww 英語でテロップだせよww

160:157
09/09/21 18:52:15
>>158
TransactionScopeは、むかーしになんかの理由で
使えないなーって判断した記憶があるが忘れたな。
もう一回調べてみる。ありがとう。

161:nobodyさん
09/09/21 19:04:48
MS-DTCが使えないとか、サーバの関係かな?
使えると便利なんだけどね。TeansactionScope。
結局なんだかんだいって、SQLサーバにすべてクエリ登録して、
アプリ側ではストアドだけ呼び出すのが正しいのかなという気がするよ。

162:nobodyさん
09/09/21 22:11:19
駄目な相対化の例をこんなとこでも見るとは・・・

163:nobodyさん
09/09/22 00:49:26
いつか誰かが突っ込むだろうと思ってずっと待ってんだけど、なんで誰も指摘しないの?
馬鹿っぷりを曝け出してる様をみてニヤニアしてんの?
つーわけで

 不 要 な イ ン ス タ ン ス っ て 何 ?


TextBox1,2,3があるページと、TextBox1,3,4があるページの両方が同じ分離コードをさしてる
として、片方のページを表示してるとTextBox1,2,3,4のインスタンスが出来るとでも思ってる
の?馬鹿なの?死ぬの?

164:nobodyさん
09/09/22 11:06:33
>>163
ASP.NETの勉強をし直してからまたおいでね

165:nobodyさん
09/09/22 12:44:19
>>139
> メンバ変数として宣言されてるコントロールを一切使用しないなんて、
> asp.net以前にオブジェクト指向の設計として間違ってるような気がするのは俺だけ?

逆だろ。
自動生成されたメンバ変数を使いつつ、コードを共有したいから、
共通の基底クラスを継承するのではなく、コードビハインドを共有するんだろ。

共通の基底クラスを継承する場合は、
基底クラスでは全てのコントロールをFindControlしなければならないが、
コードビハインドの共有なら、共通のコントロールに限り、メンバ変数が使える。

166:nobodyさん
09/09/22 13:11:19
>>163
彼の主張する不要なインスタンスについては>>139に書いてある内容だと思う

>ロジックを記述するパーシャルクラス(ページなんちゃら.aspx.cs)と、
>コントロールなどのメンバ変数を宣言する.aspxが自動生成するパーシャルクラスの
>二つが作られるわけでしょ?
バージョンもWEBサイトかWEBアプリかも特定せずにメンバ変数を宣言するパーシャルクラスが自動生成されてるとか
パーシャルクラス(宣言のコード)なのにクラスが二つ作成されるとか

>コードビハインドは、そのメンバ変数を参照してる(からインテリセンスで補完してくれる)わけで
コードビハインドだと勝手にメンバ変数参照してるとか
メンバ変数参照してるからインテリセンスがきくとか

>メソッド内では決して参照しないまったく関係無いコントロールのインスタンスをメンバ変数として保持し、
必ず存在しているコントロールじゃない限り、一々FindControl(>120)って発言を無視してるとか

もうね、>>164のアンカーは自分に向けとけとしか


167:nobodyさん
09/09/22 14:17:50
不要なインスタンス云々を言ってる奴って、型付DataSetとか絶対認めない・使わないのかなw

コード内でDataColumnsを定義するのがメンドクセーって理由だけで型付DataSetを使うと、使わない
メソッドが腐るほど自動生成されるよね。それって無駄だから型付DataSetは使用禁止!ってル
ール?w



168:nobodyさん
09/09/22 15:44:08
なんか急に関係ない話し始めたやつがいるぞw

169:nobodyさん
09/09/22 16:40:24
そもそもイミフな意見を、煽らんがために
エスパー解釈するから余計面倒なことになってるな。

170:nobodyさん
09/09/22 17:42:14
流れを読まずに質問してみる。
ASP.NETが生成するhtmlが30MB位になって、クライアントPCにダウンロード完了してから
実際にブラウザに表示されるまで30分ほどかかるんだけど、なんか上手い改善策ある?

サバーサイドの処理が重い訳じゃないので、どうしていいか分からなくて。

171:nobodyさん
09/09/22 17:59:03
30分ワロタw
画像含まずにhtmlだけで30MB?
いったいどんなシステムなんだよ。

ページ分けるしかないでしょ
必要な時に、必要な分だけしぼりこんで表示。

172:nobodyさん
09/09/22 19:32:16
>>165
>自動生成されたメンバ変数を使いつつ、コードを共有したいから、
>共通の基底クラスを継承するのではなく、コードビハインドを共有するんだろ。
逆だと思うのはコードの共有を目的とする観点からみてるから「逆」ってだけでしょ?
ページごとに、そのページが所有するコントロールの変数を
メンバ変数としてVisualStudioが宣言してるんだから、
VSつまりマイクロソフト的には1ページ1コードビハインド記述ファイルを前提ってことじゃないのってこと。

>パーシャルクラス(宣言のコード)なのにクラスが二つ作成されるとか
クラスが二つなんて書いてないじゃん。作文?

>必ず存在しているコントロールじゃない限り、一々FindControl(>120)って発言を無視してるとか
だから必ず存在している場合は、メンバ変数として宣言されてるからそれを参照できるわけでしょ?
ない場合があるからFindControlしてるわけで。

>メンバ変数参照してるからインテリセンスがきくとか
インテリセンスが聞くのは、コントロールをメンバ変数に宣言してるパーシャルクラスを
VSが自動生成してるからじゃないの?違うなら俺の間違いだな。すまなかった。

>もうね、>>164のアンカーは自分に向けとけとしか
>>164は俺じゃないよ




173:nobodyさん
09/09/22 19:35:00
やっぱそうだよなぁ。もはやページングしか残されてないよなぁ。
画像含まず、TextBoxとDropDownListとLabelとCheckBoxだけで構成されてるのに、htmlソース
で30MBとかいきます。ページングにすると更新のタイミングとかウザイんですよねえ。
俺オワタ

174:nobodyさん
09/09/22 19:41:58
>>166
>>メソッド内では決して参照しないまったく関係無いコントロールのインスタンスをメンバ変数として保持し、
>必ず存在しているコントロールじゃない限り、一々FindControl(>120)って発言を無視してるとか
それから例えとして書いてるのに、それを本筋に当てはめて見当違いのレスするのは止めようよ。
「クラスで例えれば~という感じになると思うんだ。」って書いてるじゃん。
そういうように書いてるぐらい「アホ」なやり方をしているっていうわけで、
そういうような仕組みでASP.NETが動いてるなんてかいちゃいないだろ?

>TextBox1,2,3があるページと、TextBox1,3,4があるページの両方が同じ分離コードをさしてる
>として、片方のページを表示してるとTextBox1,2,3,4のインスタンスが出来るとでも思ってる
>の?馬鹿なの?死ぬの?
これも同じ。だれも作られるなんて言ってないだろ?
メンバ変数で宣言されてるのにそれを参照しないコードの書き方がおかしいんじゃないのっていってんの。

つまり、おまえの批判はこういう的外れなことをいってるわけ。

酒井法子って覚醒剤やってたんだな・・・
これで逮捕されてもう芸能界じゃやっていけないだろ

ほんとだな万引きで捕まったぐらい恥ずかしいよな

お前バカじゃねぇ?酒井法子は万引きで捕まったんじゃねーよ。
ひょっとして万引きで捕まったとおもってんの?バカなの?死ぬの?

こんな感じ

175:nobodyさん
09/09/22 19:59:09
シルバーウィーク進行中

176:nobodyさん
09/09/22 20:18:47
>>172
クラス2個作られるのが俺の作文だっていうなら
>ロジックを記述するパーシャルクラス(ページなんちゃら.aspx.cs)と、
>コントロールなどのメンバ変数を宣言する.aspxが自動生成するパーシャルクラスの
>二つが作られるわけでしょ?
を解説してくれ

そして、
>必要ないインスタンスが生成されるのを「有り」とする人が多いのに驚いた
の必要ないインスタンスとは何か説明してくれ

177:nobodyさん
09/09/22 20:22:23
>>173
こないだの1000だか3000だか5000だかの
大量のコントロールを埋め込もうとしてた人?

178:nobodyさん
09/09/22 22:49:18
>>173
1000とか3000とか5000とかそんな桁じゃないんで違う人です。1桁違う。
5万コントロールとか10万コントロールとかそういう数なんで。

179:nobodyさん
09/09/22 23:41:39
もはや御愁傷様としか…w

180:nobodyさん
09/09/23 00:08:00
>>178
何をやってるのか、ぜひ教えてくれ。 面白そうだ。
30分かけて表示されたページは、まともに動くの?

あと、 >>172 >>176 メールでやれ。

181:nobodyさん
09/09/23 00:42:51
複数のaspxのbehind-codeが共有されてるのに拒否反応示す人が多いのに驚いた。
幾つかのProjを見てきたけど、使ってるところは多い。別に禁断の技とか行儀の悪い実装
と言うことも無く、現場によっては普通に使われるテクニック。まあ、有効な局面が限られる
と思うが。

ちなみに「VisualStudio様がデフォで作ってるんだからそれが前提」とか書いてるけど、VS
が吐き出した自動コードをあとから手で書き換えるとか、半ば当然だと思うが。VS様はそ
んなに柔軟でもないし、賢くもない。

182:nobodyさん
09/09/23 00:52:11
>>181
いろいろ書きたくなっちゃうのは分かるけど、もういいから。

183:nobodyさん
09/09/23 02:36:28
>>170
設計者氏ねとしか言いようが無いな

184:nobodyさん
09/09/23 04:15:41
ASP.NET AJAXでWEBアプリケーションを開発しています。
JQueryのリッチなUIも交えて、開発したいのですが、以下のSilverLightの例のように、
HTML要素クリック時、あるいは、JavaScriptのメソッドからCSファイルのC#の
メソッドを実行するようなことはできないのでしょうか?
URLリンク(www.atmarkit.co.jp)

当方、かなり初心者なので、無茶苦茶な質問をしているかもしれません。

185:nobodyさん
09/09/23 05:33:46
>>176
>を解説してくれ
クラスは一個
その一つのクラスのパーシャルクラスが2個

>の必要ないインスタンスとは何か説明してくれ
必要のないインスタンスは必要のないインスタンスだ
それ以上でも以下でもない
動作するからといって、1行ごとにSleep噛ますのは意味ないよな?
それと同じように、1行ごとに必要ないインスタンスを生成しても意味ないっていってんの。
換言すれば、「動作するからといって1行ごとにSleepいれるのをアリとする人が多いのに驚いた」でもいいぞ?

ただし技術的に問題ないって主張してる人は、Sleep噛ましても動けばokらしいよ
Sleep噛ましても問題ないぐらいだから、1行ごとに不必要なインスタンス生成するぐらい余裕で許容すると思うけどww
>>144に書いてある。

186:nobodyさん
09/09/23 05:53:29
>>184
HTML要素がOnClickイベントを持っていて、フックしてClientScriptを実行できるなら
一番簡単なのは、ポストバックイベントを発生させることのできるコントロールを設置して
それをJavaScriptで実行させるのが一番簡単。
例えばボタン、ハイパーリンクとかをObject.Click();すればいい。
必要ならスタイルシートで背景と同化させるとか、見えなくさせたり。

まじめにやるならこのへんで
URLリンク(msdn.microsoft.com)

187:nobodyさん
09/09/23 08:31:09
>>181
具体性の無いレスはいらないから

188:nobodyさん
09/09/23 15:01:49
メールでやらないなら、IDだしてやってくれないかな。NGすっから。

189:nobodyさん
09/09/23 16:01:00
>>185
いい加減空気嫁

190:nobodyさん
09/09/23 16:57:49
>>186
おお!!
まさに知りたかったことです。ありがとうございます。
ModalPopupExtenderのときもダミーコントロールを使用した経験がありますが、
結構ダミーとして使うことってあるんですね!!

191:nobodyさん
09/09/24 14:23:39
IEだと問題なくて、FirefoxだとLinkButtonを押してもPostBackされないのは、どこを直せば
対応出来ますか?

以前の案件ではIE/FF/Opera/Safari/Chrome全部で動いてたはずなのに、今作って確認したら
IEでしか動かない('A`

192:nobodyさん
09/09/24 14:39:55
>>173
データベースならDataSet、固定のデータならArrayを持ち回りすれば更新関係が楽になるんじゃない?
DataSet、ArrayはSerializableだったはずだったから、これをセッションで持ってて
これを元にページングして表示し編集させる。
最後に更新ボタンがあって、これをクリックすると、それまで編集されたデータを一斉に更新するとか。

つまりページングや編集は、セッションで持ってるデータに対して行って、
最後に更新ボタンを押した瞬間に、編集された行のみ必要なら整合性チェックして保存していくような感じで。

193:nobodyさん
09/09/24 14:41:20
>>191
まずLinkButtonだけを設置したテストページでポストバックしないかどうかをチェックして。

194:nobodyさん
09/09/25 11:15:43
要件で定義されてる上限まで行数増やしてページ表示させたら、ページ上のコントロールの
数が16万超とかマジでどんだけーw
12時間経ってもまだ入力出来る状態にならないw

>>192
ページングも案の一つだったんですが、グーグルクルムが思った以上に軽いんで、もしかす
ると「IEで重いようならクルム使ってね」で逃げるかも。

195:nobodyさん
09/09/25 12:17:35
>>194
どうしても大量のデータ一覧表示しつつ、ぽこぽこ書き換えたいなら、
1レコード毎の書き換えが可能ならば、表示はテキストのみにして、行のクリックかなにかで入力できる形にjavascriptで書き換えて、入力完了したら
行ごとにajaxかなんかで書き換えするようにするかなぁ。 


196:nobodyさん
09/09/25 13:02:30
>>194
ASP.NET vs 人間、ストレステストのネタとして最適ですね。

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

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

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

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

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

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

200:nobodyさん
09/09/26 08:44:34
>>198
GrapeCityのサイトでデモ使ってみたことある?
うちでは超遅かったよ

201:nobodyさん
09/09/26 15:17:01
久しぶりにきたが
まだ大量のコントロール使ったときの話してるのか?




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

しばらくしたら KnowledgeBase に載るとは思うが。
URLリンク(support.microsoft.com)

202:nobodyさん
09/09/26 19:51:06
>>201
今ホットなのはコードビハインダー

203:nobodyさん
09/09/26 20:15:29
おまいら、ドメインモデルどうですか。
おいらはまだ勉強中なので、ドメインモデルが何かすらきちんと説明できませんが。

↓ASP.NETでやってる人もいますよ
ドメインモデル VS トランザクションスクリプト
スレリンク(php板:42番)

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

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

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

206:nobodyさん
09/09/28 08:03:54
マスターページを入れ子にするとか?

207:nobodyさん
09/09/28 09:14:36
警告を無視する。

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

208:nobodyさん
09/09/28 13:07:10
コードで.jsファイルインポートしても警告でるっけ?
ClientScriptBlockほげほげとかいうやつ

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


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

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

211:nobodyさん
09/09/28 19:18:41
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さん
09/09/28 19:41:37
普通にこれ使えばいいんじゃないの?
URLリンク(msdn.microsoft.com)

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

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

214:nobodyさん
09/09/29 22:47:27
213です。
ListBoxではなく、DropDownListの間違いです。すみません。

215:nobodyさん
09/09/29 23:22:25
>>214
漏れはフルECMAscriptで実装しました。
MS的にはポストバックして欲しいみたいなのでオススメしない。

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

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

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

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

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

220:nobodyさん
09/09/30 20:41:22
あくまで例えばだけど、
<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さん
09/09/30 20:42:05
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さん
09/09/30 21:22:20
ListBoxに加えられた項目をアルファベット順に並び替えるにはどうすればよいのでしょう?
WindowsFormではSortプロパティがあるのですが、ASP.NETのListBoxにはありません。
一旦全部配列に抜き出して、並び替えた後に順番に追加していくしかないのでしょうか?
スマートな方法をご存知の方、よろしくお願いします。

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

224:215
09/10/01 01:12:00
>>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さん
09/10/01 01:41:28
>>219
どうしてもポストバックさせちゃダメなのか?
クライアント側のスクリプトすらすら書けるレベルないと、実装例みても
理解できないんじゃないかな

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


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

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

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

229:nobodyさん
09/10/01 15:23:48
>>227
たしか標準のオラクルODBCドライバはオラクルクライアントが必要
JDBC以外でオラクルクライアントなしでつながる物はしらない


230:nobodyさん
09/10/01 16:18:31
へじタソが優秀なんじゃね?

231:nobodyさん
09/10/01 16:41:38
>>227, 229
ありがとうございます。
やはりオラクルクライアントは必要そうですね。


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


URLリンク(e-words.jp)
ODBC
フルスペル : Open DataBase Connectivity

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

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

234:227
09/10/01 18:20:27
もういっこ検索結果を。

URLリンク(www.amy.hi-ho.ne.jp)

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



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

236:nobodyさん
09/10/01 19:28:55
つまり
OracleはDBそのものがODBC準拠だからODBCドライバがあればいけるってこと?
それともOracleをODBCに準拠させるためにOracleが出してるODBCドライバが必要で、
さらにアプリ側にODBCと通信するためのドライバが必要ってこと?

237:nobodyさん
09/10/01 19:37:43
OleDBなら、接続文字列を変更するだけでSQL ServerもOracleもMDBも行けると思っていたのだけど、
認識間違ってますかね?

238:nobodyさん
09/10/01 20:27:54
>>236
オラクルが直接ODBC準拠じゃない
オラクルをODBCで操作するためには、オラクル用のODBCドライバが必要
オラクル製でもマイクロソフト製でも基本的にはアプリからの違いはない
ODBCと通信するんじゃない。(ドライバと)ODBCで通信するんだ
ドライバとアプリはODBCで通信する。ドライバとDBはDBごとのネイティブで通信する
オラクル用のODBCドライバなら、ドライバとDBとのネイティブ通信にオラクルクライアントが必要

これ以上はDB関係の板行って聞け


239:nobodyさん
09/10/02 20:02:27
>>238
つまり
何かのテクノロジ-->>(テクノロジとODBCが通信するためのドライバ)-->>(ODBC規格)-->>(オラクルにODBC接続を提供するドライバ)-->>オラクル
ってこと?

240:nobodyさん
09/10/02 20:52:19
GridViewの内容をExcelファイルに出力したいのですが、
URLリンク(www.atmarkit.co.jp)
のようなやり方で実現はできるのですが、Excelファイルの保存形式が、
純粋なExcelブック形式ではなく、拡張子こそXLSですが、中身はHTML形式?
みたいな保存のされかたです。
純粋なExcelブック形式のファイルとして出力するにはどうすればよいでしょうか?
ご教示願います。

241:nobodyさん
09/10/02 20:58:43
>>239
238も239もだいぶ間違ってる。

オラクルのネイティブなデータプロバイダはOracle Call Interface (OCI) を使ってアクセスする。
ODBCやOLEは別の古い規格。
.net frameworkにoracle用のデータプロバイダがあるんだからそれを使うのがベスト。
ODBCとかいまどき使う意味は俺にはわからない。

まずは質問しまくるまえにWindows SDKを読むこと。SDKのv6.1にはADO.NETの下に
Oracle and ADO.NETという項目がある。インストール後のURLでいうと
ms-help://MS.LHSMSSDK.1033/MS.LHSNETFX30SDK.1033/wd_adonet/html/8ee8e389-53cf-45cf-80bd-1df63ef34f2e.htm
web版
URLリンク(msdn.microsoft.com)

242:nobodyさん
09/10/02 21:21:46
どのみちオラクルクライアントが必要

243:nobodyさん
09/10/02 22:38:40
DLLコピーすりゃいいんじゃねえの

244:nobodyさん
09/10/02 22:57:37
>>241
いまさらODBC使う意味がないってのには同意するが、>238は別に間違ってもいないだろう
そして、.NETのオラクル用データプロパイダ使ってもオラクルクライアントのインストールは必要だぞ


245:nobodyさん
09/10/03 13:56:21
先日検証用にOracle Database 10g Express Editionを入れたのですが、
この時ODP.NETなんかも知らないうちにこっそり入ってきたと考えてOK?

246:nobodyさん
09/10/03 17:33:18
つまりOracleClientはOracleに接続するためのAPIセットだからインスト必要ってこと?
DLLのみコピーするとか手段の違いは抜きにして。

247:nobodyさん
09/10/03 18:52:54
そゆこと

248:nobodyさん
09/10/05 18:17:11
VWD 2008 SP1 で開発しております。
SqlDataSourceのデータソース構成ウィザードで
パラメタつきのストアドを選択し、パラメータの定義まで進むのですが
パラメータソースの部分にNone以外選択できません。
別マシンのSP1ではないVWD 2008だと普通にControlなどを設定できます。
VWDをインストールしなおした方が良いのでしょうか?
それとも何か私の方で足りない設定などあるのでしょうか?

249:nobodyさん
09/10/06 08:02:48
Web 開発会社のビジネスを支援する Microsoft(R) WebsiteSpark(TM) プログラムを開始
URLリンク(www.microsoft.com)

【参加要件】
・Web 制作や開発業務を主なビジネスとしていること(Web サイトなどで主業務が明確になっていることが必要)
・従業員数が25名以下であること
・Windows プラットフォームを用いた新しいドメインのWeb サイトの開発を積極的に推進すること(6ヶ月以内に1サイト以上構築)
※マイクロソフトのパートナープログラム「マイクロソフト パートナー ネットワーク(MPN)」へ未参加の場合、
WebsiteSpark への参加と同時にMPN にも参加が必要


【参加特典】
・マイクロソフトの Web 開発ツールやデザインツール
  Visual Studio(R) 2008 Professional Edition   3 ユーザー ライセンス
  Expression(R) Studio 3   1 ユーザー ライセンス
  Expression Web 3   2 ユーザー ライセンス

・検証、デモンストレーション用途で利用できるサーバー製品※
  Windows Web Server 2008   3 ライセンス
  SQL Server(R) 2008 Web Edition   3 ライセンス

※:自社の環境で本番運用を行う場合は、
別途サービスプロバイダ向けのライセンス契約(SPLA 契約)の締結が
必要となります。ただし、Windows Web Server 2008 と
Microsoft SQL Server 2008 Web Edition について、
それぞれ 4CPU ライセンス分まで WebsiteSpark の参加期間(最大3年間)、
SPLA の費用は必要ありません。

250:nobodyさん
09/10/06 16:30:01
さてと、精鋭25名で分社するか・・・

251:nobodyさん
09/10/06 20:53:50
>>250
俺も仲間に入れてくれ。

252:nobodyさん
09/10/07 02:23:59
感覚の問題だしスレチなんだが、100人から25人とかだと精鋭って感じしないよな
1000人から25人だと精鋭だけど、100人とか200人から25人だと上位25名って感じ。


253:nobodyさん
09/10/07 08:36:48
おっと市場原理主義の悪口はそこまでだ

254:nobodyさん
09/10/07 14:01:32
大体、組織の5%位の人間が精鋭。
でも実際に本当に凄いのはその中のさらに5%くらい。
なので、真に精鋭と呼んでいいのは25%位しかいないと思う。

255:nobodyさん
09/10/07 14:19:06
>>254
算数大丈夫か??0.25%だろ??釣られてる??

256:nobodyさん
09/10/07 17:08:27
5%×5%=25%

257:nobodyさん
09/10/07 17:48:40
精鋭25人の方が本社だろ。

258:nobodyさん
09/10/07 18:17:55
>>257
wwwwwww
つ 座布団

259:nobodyさん
09/10/08 00:29:00
なるほど
100人中25人が本社の精鋭で、そのた75人のうち25人が分社時の精鋭と。





半分より上程度か('A`)

260:nobodyさん
09/10/08 09:10:25
動的コンパイルだけで動作させたいのでaspxファイルだけで
作りたいのですが、こんなのは異常ですか?

261:nobodyさん
09/10/08 12:29:29
別に

262:nobodyさん
09/10/08 17:17:31
インストール=ソフト納品だから便利でいいじゃん

263:nobodyさん
09/10/08 17:22:47
クラスファイルとかはどうやってaspxファイルに取り込めばいいでしょうか?
<script runat="server" src="hoge.vb"></script>
とかださくないですか?

264:nobodyさん
09/10/08 18:47:41
>>260
WEBサイトで動的コンパイルさせたいだけならコードビハインドでもできる
普通はaspxにコードは書かないと思うが、まあそれで問題ないならいいんじゃない

>>263
App_Codeにソース入れておく

265:nobodyさん
09/10/08 19:21:58
>>264
すばらしすぎる。さんくす。

266:nobodyさん
09/10/08 22:14:09
GridViewのヘッダー固定について、これ!っていう手段が見つかりませんが、
皆さんのところでは客等からの要望ありませんか?
GridViewで表示させるテーブルが決まっているなら、むりやりCSSでフリーズ
させれば良いようだけど、いろんなテーブルをバインドするような可変の場合は
どうすればいいのかなぁ?

267:nobodyさん
09/10/08 23:32:35
>>266
金で解決する=その手のコンポーネントを買う

268:nobodyさん
09/10/09 08:28:38
App_Codeって.NET Framework 2.0からなんですか?

.NET Framework 1.1には同じような機能はないでしょうか?

269:nobodyさん
09/10/09 09:16:33
レガシーASPのApplication.Lockがしたいのですが
ぬるぽが発生してしまいます。
何か間違っていますでしょうか?

Public Class Test

Public Sub test()

Dim hoge As New System.Web.HttpApplication
hoge.Application.Lock()
hoge.Application.UnLock()

End Sub

End Class


270: [―{}@{}@{}-] nobodyさん
09/10/09 11:04:30
>>269
ページ外のクラス内ならこうかな

HttpContext.Current.Application.Lock()
HttpContext.Current.Application.UnLock()

Aplicationオブジェクト使うより、Globalな静的メンバ使った方がいいと思うけど

271:nobodyさん
09/10/09 11:09:21
>>270
ありがとう。できました。

272:nobodyさん
09/10/09 16:38:35
>>269,271
お前の言うレガシーASPってなんなんだ?
普通レガシーASPっていったら、ASP.NET以前のASPだと思うが
その場合、そもそも.NET Framework関係ないんだが

273:nobodyさん
09/10/09 17:00:47
>>272
.net以前のASPですよ

274:nobodyさん
09/10/09 17:51:55
>>273
.NETじゃないASPのプログラムを.NETで書いてるのか?
そもそもASPのApplicationとASP.NETのApplicationは別物だと思ったが

275:nobodyさん
09/10/10 11:18:19
ASP でこうやるのを ASP.NET ではどうやるの?
ってことだろ。
それぐらいわかれよ。

276:nobodyさん
09/10/10 15:15:18
>>275
おお、そういう事か
ニホンゴムズカシイネ

277:nobodyさん
09/10/10 15:59:30
Panelの大きさをIEの画面サイズに合わせて動的に拡大縮小することはできませんか?

278:nobodyさん
09/10/10 18:25:47
>>277
画面サイズはクライアント側が決めてるのでサーバ側のプログラムでは無理
クライアント側のスクリプト書けばできるかもしれない

279:nobodyさん
09/10/10 18:35:20
jQuery使えば余裕

280:nobodyさん
09/10/10 21:39:32
というかpanelそのものにサイズという概念がないと思うぞ
それを囲んでるtableや、panel内に記述してあるtableやら何やらのサイズが
影響を与えてるだけで。

281:nobodyさん
09/10/10 23:00:44
Panelはほとんどの場合<div>で出力されてた気がする
Cssclassプロパティもあるし、スタイル指定できないことはない

まあ、<div>になる保証はないし、厳密にやるならパネルを囲む要素かパネル内に
なんらかの要素を配置してそいつのサイズ指定するべきだな

どっちにしても動的に変更するならクライアントスクリプトの範疇

282:nobodyさん
09/10/11 18:19:48
クライアント側でサイズを動的に変更できる要素って何がありますか?

283:nobodyさん
09/10/11 22:04:00
いろいろあるけど、それはもうここでは書ききれない
リファレンスを見て

284:nobodyさん
09/10/12 12:18:09
一般的に多用されるものトップ5を教えてください。

285:nobodyさん
09/10/12 17:41:40
<table>
<td>
<tr>
<div>
<img>

286:nobodyさん
09/10/14 02:22:58
すまそ

ImageButton objButton = new ImageButton();
objButton.ImageUrl = "img/test.gif";
objButton.Attributes["onmouseout"] = "src='img/test.gif'";
objButton.Attributes["onmouseover"] = "src='img/test2.gif'";

この ImageButton オブジェクトを Table に動的に配置したら、OnMouseOver がきくことはきくんだが、
なぜか最初にマウスを持っていった時に、ステータスバーに"localhost に接続しています"と出て、若干時間がかかる。

これって最初にサーバーに test2.gif を取りに行ってるってこと??
test.gif は ImageUrl プロパティで指定してるから最初に取りに行くけど、これと同じタイミングで取りに行かせる方法はないかな~?
もしお門違いな質問してたらスマソ

287:nobodyさん
09/10/14 02:27:41
>>286
それぞれのイベントが発生したときに、それぞれの属性を変更させるのがJavaScriptなんで、
イベントが発生したとき画像を読み込みにいって時間がかかるってこと。

↓対処するには事前にクライアント側に読み込ませて置けばいいと思う。
URLリンク(www.openspc2.org)

288:nobodyさん
09/10/14 10:06:24 b+wqBLjU
普段より自己購入や交換などで集めたFX情報商材を下記のブログにて格安販売しております。
どんな商材でも1情報500円という破格で放出致します。
デイトレンドFX、グローバルFXセット、FX-AAA、今や絶版のフェニックス投資法からエコスキャルⅠ、Ⅱなど
最新の商材も多数取り揃えております。

FXの書籍を書店で買うよりも安いです。勿論、ご入金は商材を確認されてからで結構です。
URLリンク(fxsyouzai.7narabe.net)
平素は交換用のブログとしており表立って販売の記述はありませんが10月末まで期間限定で提供致しますので
奮ってご参加下さい。
購入希望の方はブログ内左側のメールフォームよりお願いします。

289:nobodyさん
09/10/14 12:14:50
フライトシムスレでやれ

290:nobodyさん
09/10/14 13:18:47
Σ(゚∀゚;)

291:nobodyさん
09/10/14 21:32:11
boolean型のテーブルをGridViewにバインドすると、IEで表示させたときにcheckbox表示されますが、
このbooleanのTrue/False の状態を GridViewRow.Cells(i) を使って取得したいときには、どのように
コードを書けば良いのでしょうか?
メソッドやオプションを調べて試しているのですが、見つけられずにいます。
よろしくお願いします。

292:nobodyさん
09/10/15 01:42:06
>>287
㌧クス
さぁそのコードをどこに入れようか…

293:nobodyさん
09/10/15 08:38:12
>>291
こんな感じ?
>Dim lblTest As Label = CType(gridView1.Rows(0).FindControl("lblTestCd"), Label)
URLリンク(www.atmarkit.co.jp)

>>292
思い出したんだが、スタイルシートでプリロードする方法もあったはず
というかあった。これかな?
URLリンク(blog.webcreativepark.net)

294:nobodyさん
09/10/15 09:55:33
>>291
CType( GridViewRow.Cells(i).Controls(0) ,CheckBox ).Checked

295:nobodyさん
09/10/15 19:33:24
>>293-294
ありがとうございます。
ご存知でしたら追加で教えて頂きたいのですが、テーブルの中には、StringやらInt32やらもまじっています。
GridViewRow.Cells(i) の中身が Checkbox かどうかをIF文で判定して処理を振り分けたいのですが、
どのようにCheckbox判定コードを書けばよいのでしょうか?

296:nobodyさん
09/10/15 19:54:05
is演算子(C#)
TypeOf…Is式(VB.NET)

297:nobodyさん
09/10/15 20:44:18
>>296

以下のようなコードで試しているのですが、エラーとなります。
どこを直せば良いのでしょうか?

[ArgumentOutOfRangeException: 指定された引数は、有効な値の範囲内にありません。
パラメータ名: index]

For i As Integer = 0 To row.Cells.Count - 1
If TypeOf row.Cells(i).Controls(0) Is CheckBox Then
MsgBox("発見!")
End If

298:nobodyさん
09/10/15 21:03:42
iの値が行数を超えてるんじゃね?

299:nobodyさん
09/10/15 21:19:19
ああ、もしくはControls(0)が存在していない可能性もあるな

仮にその時に存在していても
例えばIsPostBack==trueでない時もオブジェクトを見に行ってるとか、
GridViewとかのViewStateがfalseになっていて、
データバインドされてない状態でRowを拾いにいってるとか、
そんな可能性もあるので注意ね

デバッグ機能を使いこなすんだ

300:nobodyさん
09/10/15 22:12:51
>>299
最終的にはGridViewの中身をCSVに落とし込みたいのですけど、
boolean型のセルだけ空白になってしまうので、True/Falseに変換
した上でCSVに出力したいのですが、Controls(0)が存在しないのか、
それとも指定の仕方が間違っているかのどちらかですかね。

301:nobodyさん
09/10/15 22:21:25
わからん

考え方として、これでエラーが出ないか確かめなよ
For i As Integer = 0 To row.Cells.Count - 1
End If

上でエラーでなかったら、次はこれ
For i As Integer = 0 To row.Cells.Count - 1
If TypeOf row.Cells(i) Is CheckBox Then
End If

その次はこれ
For i As Integer = 0 To row.Cells.Count - 1
If TypeOf row.Cells(i).Controls(0) Is CheckBox Then
End If

そうすれば追加したところのどこでエラーがでてるのかわかるでしょ
2番目でエラーならCells(i)が実際の存在する行数以上の数値をiに入れてるからエラーとかわかるでしょ

302:nobodyさん
09/10/16 05:18:14
まずエラーの出てる行を特定しろよ
ちゃんとエラーメッセージみてるのか?

まあ、たぶんControls(0)が存在しないんだろうけど
いきなり(0)使わないでCount確認してみろよ

GridViewに表示させてるデータはバインドしてるデータじゃないのか?
CSVに吐き出すならバインドしてるデータから出力すればいいような気がするがのう


303:nobodyさん
09/10/16 07:50:37
boolean型のセル以外は普通にCSVに出力できるので、
IEがチェックボックス表示するboolean型のセルの判定と
そのTrue/False状態が取得できれば完成なのですが、
そもそも、row.Cells(i).Controls(0) というコードが勘違い
ということですかね。

304:nobodyさん
09/10/16 08:05:01
とりあえずレスしてもらったことをためせw

305:nobodyさん
09/10/16 08:18:09
いや、実際レスされたことは試し済み。ググッて知ってることばかりだから。

306:nobodyさん
09/10/16 08:51:11
なんだ釣りだったか

307:nobodyさん
09/10/16 10:27:09
ここ最近、質問者の技術力を超える住人からの書き込みが無かったって事。
低レベルな住人しか寄り付かないスレ?

308:nobodyさん
09/10/16 10:48:06
まずは日本語の技術力を学んで出直してこい

309:nobodyさん
09/10/16 11:17:10
しかし、なんで問題の切り分け方を理解(実行)できない奴ばかりなんだろうな

310:nobodyさん
09/10/16 11:42:26
>>303
これなんかどう?
URLリンク(stackoverflow.com)

>>308-309
技術力の無い住人のゴミレス不要。

311:nobodyさん
09/10/16 11:50:49
すげーググってリンク貼るのが高技術力の証拠ですね!

312:nobodyさん
09/10/16 11:52:56
じゃ俺はこれで
URLリンク(www.velocityreviews.com)

すげー俺って高技術力保持者!(*∀*)ウヒョー

313:nobodyさん
09/10/16 11:57:56
英語なんで分からないとか言い出しそう

314:nobodyさん
09/10/16 12:05:39
しかもstackoverlflow.comのほうは鯖落ちしてるっぽくてみれないんだが
nslookupで名前は解決できるから鯖落ちだよな?
落ちてる鯖を勧めるって、ひょっとして中身確認してないのかな?

315:nobodyさん
09/10/16 12:49:54
>>310
ありがとうございます!やりたいことが実現できました。

316:nobodyさん
09/10/16 13:09:16
これはわかりやすい自演ですね

317:nobodyさん
09/10/16 13:33:56
プログラム板でスレをみてる人のこと「住人」なんて呼ぶ奴みたことないわ。
少なくともASP関連じゃ皆無。なんでだ?

>低レベルな住人しか寄り付かないスレ?
とかいきなり、傍観者が現れて、スレにいる人を「住人」と呼び罵倒し始める

紹介したサイトはサーバ落ち

それをみた依頼者がサーバが落ちてるのにも関わらず中身をみれて無事解決

自演バレバレ ← いまココ

たぶんgoogleキャッシュで見ました!とかの回答がくるに100ペソ

318:nobodyさん
09/10/16 17:14:36
>>301-302で問題を切り分けろって言われてて、
>>304にもレスしてもらったことを試せって言われてるのに、
>そもそも、row.Cells(i).Controls(0) というコードが勘違いということですかね。
なんていって、>>305でレスされたことは試し済みと逆切れしてりゃ誰も返事なんてしてくんないよw

319:nobodyさん
09/10/16 18:12:34
だいたいどこまで本人の書き込みなんだか

320:nobodyさん
09/10/16 19:31:43
参考にして考えるのはいやだから、そのものソース書いてって書けばよかったのに。
そうすれば俺も返答しなくて済んだんだ。

321:nobodyさん
09/10/16 19:45:02
参考のサイト普通に見れるけど?
何だか異常に噛み付いてるキティが住み着いてるようだね。
質問スレなんだから、回答につながるヒントなりを書けば良いのでは?

322:nobodyさん
09/10/16 20:02:29
ASP.NETスレにいるのに障害復旧とか知らないの?

323:nobodyさん
09/10/16 20:05:15
みんな~、あまりキティを刺激しないように。根に持つタイプみたいだから。笑

324:nobodyさん
09/10/16 20:10:13
>>320 = >>323 か。わかりやすいな

325:nobodyさん
09/10/16 20:13:41
根拠の無い持論を繰り広げて感じの悪い書き込み続けてる馬鹿って何なの?

326:nobodyさん
09/10/16 20:16:45
俺323だけど、320じゃないよ。ホント気味悪いね。>>324

327:nobodyさん
09/10/16 20:21:04
はいはい
おまえらトリップつけてやってくれよ
IDでないからNGできないからさ

328:nobodyさん
09/10/16 20:26:35
質問しといて逆ギレとかw

329:nobodyさん
09/10/17 03:07:14 XTquIeJe
ASP.NET MVCってどうなん?
これからやるプロジェクトに適用するべきか否か悩んでる。
これから始めるなら、MVCか?

330:nobodyさん
09/10/17 05:14:44
案件の内容次第だろ。
MVCはWeb Formsに取って代わるというものでもないし。

331:nobodyさん
09/10/17 05:44:06
私女子中学生だけど喧嘩はそこまでにして。

332:nobodyさん
09/10/17 11:50:32
MVCはLAMPやJava開発者を取り込むのが目的じゃね?
ASP.NET知ってればそれで済むと思う。
ViewStateが問題になる携帯でもASP.NET for Mobilesがあるし

333:nobodyさん
09/10/17 21:26:00
ここの住民はスルーカ無さすぎてワロスw

334:nobodyさん
09/10/17 22:04:19
いや、約一名だけ粘着キモが張り付いてるだけだよ。

335:nobodyさん
09/10/17 22:12:43
おまえだろ?

336:nobodyさん
09/10/17 22:46:22
IIS5.0からIIS6.0に移行したところ、以下のエラーが出力されました。
MSで調べてもIIS4.0などの情報しかなく困っています。
どこを修正すればよいでしょうか?

Microsoft VBScript実行時エラー エラー'800a01ad'
ActiveXコンポーネントはオブジェクトを作成できません:'********'
/***/****.asp

337:nobodyさん
09/10/17 23:03:12
とりあえずスレタイが読めるようになるのが先決じゃね

338:nobodyさん
09/10/18 04:44:56
>>336
とりあえずエラーの出た行だけでも晒せよ
6.0でも4.0や5.0と同じ原因で同じエラーが出ると思うが
URLリンク(support.microsoft.com)
とか確認してみろ

339:nobodyさん
09/10/18 19:48:47
質問する→回答に対して逆切れ→そのまま居着いて荒らす
こんなパターンが多いな。最近。

340:nobodyさん
09/10/18 19:53:39
おまえだろ?

341:nobodyさん
09/10/18 19:58:36
↑こいつこいつ

342:336
09/10/18 21:49:32
今手元にないので、明日また来ます。

343:nobodyさん
09/10/19 20:19:40
さてと、今日は粘着キモ馬鹿は張り付いてるかな? 何分で釣れるか楽しみ。藁

344:nobodyさん
09/10/19 20:42:48
>>329
DB制約付けたりとかも含めて完璧にVS上で定義して全てフレームワークに任せるなら、マジオススメ。
下手なカスタマイズが入るとマジ地獄。

345:nobodyさん
09/10/19 22:10:23
あれ、今日は粘着キモ馬鹿はいないのかな?折角、釣ってやろうと思ったのに。笑

346:nobodyさん
09/10/19 22:35:43
>>345
粘着きめぇ

347:nobodyさん
09/10/19 22:48:50
おっと、今日も粘着キモ馬鹿のご登場です。1時間以内で釣れました。藁

348:nobodyさん
09/10/19 22:51:28
>>347
いや、おまえがキモい。定期的に釣ろう釣ろうとして待ってたの?

349:nobodyさん
09/10/19 22:53:19
釣り師が13分で釣れたとか粘着どっちだって話。
あと何時間か定期的に確認すんだろ?がんばってな。

350:nobodyさん
09/10/19 22:53:20
あんまりキティを刺激しないほうがいいぞ。根に持つみたいだから。

351:nobodyさん
09/10/19 22:54:41
>質問する→回答に対して逆切れ→そのまま居着いて荒らす
このパターンにビンゴだな


352:nobodyさん
09/10/19 22:56:10
>>345-351
一人で自演ご苦労様。明らかに自演するなんて、ホントに気味が悪い。

353:nobodyさん
09/10/19 23:03:08
>>352
しむらー時間時間

354:nobodyさん
09/10/20 08:06:50
くだらないやり合いは 10レス程度で後は自重してくれよ。

355:nobodyさん
09/10/20 19:57:52
今日も、また粘着キモ馬鹿は張り付いてるかなw
技術力の無い住人は、粘着キモ馬鹿だから、すぐに釣れそうだけど。藁

356:nobodyさん
09/10/20 23:20:32
画像を取得するAPIがアプリケーションサーバにあって、
その画像を一定期間IISでキャッシュしています。

それなりの大きさの画像なのでメモリ上にキャッシュせずに
ディスク上にキャッシュしているのですが、
古くなったキャッシュを削除するにはどうしたらいいでしょうか?

IISの起動・停止時にキャッシュの全削除、定期的に古いキャッシュの削除
をやりたいです。


357:nobodyさん
09/10/20 23:23:54
>>356
削除処理をタスクに登録する

358:nobodyさん
09/10/21 16:17:47
そういや、定期的なバッチ処理はタスクでいいけど、
IISの起動と終了時に、外部のプログラムを実行することなんてできるのかな?

359: [―{}@{}@{}-] nobodyさん
09/10/21 18:03:32
>>358
Application_Start、Application_Endイベントじゃ駄目か?

360:nobodyさん
09/10/21 19:18:05
Application_Startは、初めてアクセスがあったときじゃなかったっけ
キャッシュを削除するとかは、サービス起動時に行いたいはずだから、
駄目といえば駄目なのかもしれない。

361:nobodyさん
09/10/21 19:28:15
IISの起動停止じゃなくてOSの起動時でよくね
任意のIIS再起動時にもやりたいならそのときの作業に削除処理を組み込めばいいと思う

362:nobodyさん
09/10/21 19:30:10
IISの状態を常駐タスクから見てそれから起動すればよい

363:nobodyさん
09/10/21 19:42:42
>>361
仕様次第だけど、OSの起動とIISの起動は別の場合があるからなぁ

>>362
それだと見逃す可能性もあるよね?



364:nobodyさん
09/10/21 19:53:20
スキャン周期内の起動停止はあきらめろ

365:nobodyさん
09/10/21 20:01:39
>>363
なんで2行目スルーしたん。

366:nobodyさん
09/10/21 20:39:59
ASP.NET 4.0 + IIS7.5 のオートスタートで起動時の処理はできるようになる。

オートスタートするASP.NETアプリケーション(VS 2010&.NET 4シリーズ) - @IT
URLリンク(www.atmarkit.co.jp)


367:nobodyさん
09/10/21 21:23:24
>>365
フリーズしたりして、自動再起動したときには実行されないから。

368:nobodyさん
09/10/26 18:44:39
プログラムではなくどうしてもタグでコントロールを作成する必要があるのですが、ループの中で作成すると異なるIDをつけることができず困っています。

<% for (int i=0; i<3; i++) %>
<% { %>
<asp:Button ID="???" runat="server"/>
<% } %>

連番でも良いのですがどのように付ければ良いのでしょうか?無理なのでしょうか・・・。

369:nobodyさん
09/10/26 18:49:58
>>368
>プログラムではなくどうしてもタグでコントロールを作成する必要があるのですが
なんで?

370:nobodyさん
09/10/26 18:58:13
>>369
別の人が書いたコードを改造しているのですが、コードの修正規模を最小にしたいためです。

簡単にIDを設定する方法がないようであれば、書き直しも検討しなければなりませんができれば避けたいと考えています。

371:nobodyさん
09/10/26 21:08:57
>>370
そいつにかかせろ。




372:nobodyさん
09/10/26 22:22:51
>>370
>コードの修正規模を最小にしたいためです。
その発想やめた方がいいよ…いやマジで。書き直した方がいいと思う。
変なソースを保守するのは大変だと思うけどさ。

373:nobodyさん
09/10/26 22:30:27
既存のコードから逃れるために集約を多用するのがいいかも。

374:nobodyさん
09/10/26 22:46:04
みなさん、ありがとうございます。どうやら簡単にはできなさそうですね。色々調べても初心者の自分には見つけられなかったはずです。

頭の中がPHPになっているものですから切り替えが必要ですね。うーん、頑張ります。

375:nobodyさん
09/10/26 23:26:27
>>374
タグでコントロールを作成っていう意味がわからない…。
ともかく、普通にButtonをNewしてRenderControlすればいいんじゃないの?
idはサーバー側で自動で割り振ってくれたと思うけど。ctl00_xxxみたいな連番で。

376:nobodyさん
09/10/27 01:37:47
>>375
aspxファイルにコードを書けばよいじゃない、という発想。

377:nobodyさん
09/10/27 02:04:17 JPv1u5Ye
>>375
意味不明ですみません。「タグでコントロールを作成」というのはButton btn = new Button()
と書くのではなくて<asp:Button runat='server'/>とaspタグを使うことを意味していました。

以下のような構造の時に動的に作成されるDropDownListにユニークなIDを割り当てたいのです。
これは後からDropDownListに追加するListItemを制御したり、DropDownListの初期値を制御
したいためです。

<% for (int i=0; i<Hoge1.Count; i++) %>
<% { %>
  複雑な構造のHTML(1)
  <% for (int j=0; j<Hoge2.Count; j++) %>
  <% { %>
    複雑な構造のHTML(2)
    <asp:DropDownList ID="???" runat="server" />
    複雑な構造のHTML(3)
  <% } %>
  複雑な構造のHTML(4)
<% } %>

このようなケースでは一般的にどのようにすべきなのでしょうか?
ID="ddl<%# Eval(i * Hoge1.Count + j)%>"のような表記が可能なのかと推測したのですが当然
ダメでした…。

378:nobodyさん
09/10/27 06:04:38

よく認証画面などで見かける、数字の画像をランダムに
生成する機能は、何を使えば実現できますか?
フリーウェアでそういった機能のはありますか?

379:nobodyさん
09/10/27 08:21:03
>>377
そもそもの作りが糞。
一般的にはRepeaterやListView等のコントロールのTemplateを使用します。

10年位前の無印ASPなやり方な上に
わざわざサーバーコントロールを使うことで縛りを設けているマゾ仕様。

とりあえずID云々の前に各コントロールへの参照が取れないんだから、
一般的な解決策はほぼ絶望じゃないかな。

>>378
Captchaじゃなかったっけ?

380:nobodyさん
09/10/27 08:42:02 JPv1u5Ye
>>379
ご回答ありがとうございます。了解しました。IDについてはあきらめようと思います。
それにRepeaterやTemplate等の代替え手段を教えていただいたのは非常に助かります。
これから勉強してみて書き換えたいと思います。ありがとうございました。

381:nobodyさん
09/10/27 08:47:17
>>377
それでも出来たと思うよ。
<%#(i * hoge1.coint + j).ToString() %>
とか文字列にする必要があったような。ひょっとしたら#いらないかも。

ただ、ASP.NETはそんなやり方はしないので、
「ASP.NET コントロール 動的生成」あたりでググって調べてみるといいと思う。
たぶんaspxファイルにはPanelやPlaceHolderなどのコントロールだけ配置して
コードビハインドのメソッド内でfor文でコントロールのインスタンスを動的に生成して、
Panelに生成したコントロールをaddしていく形になると思う。

382:nobodyさん
09/10/27 08:54:35
あれ<%$ %>だっけか?
実行時バインドなんてほとんど使わないから忘れた。
出先なので自分のソースも調べらんないし、そのへん調べてみて。

383:nobodyさん
09/10/27 09:06:08 JPv1u5Ye
>>381
具体的なやり方まで教えていただきありがとうございます。作りは悪いのはわかっていても
応急手段でIDの取得ができると本当に助かるのです。今は試せる環境にいないのですが、午
後からでもトライしてみます!

それでもいつかはやはり作り直しが必要だということは認識できました。

384:382
09/10/27 11:40:35
もどってきたのでテストしてみるよ
飯食ってからだけど

385:nobodyさん
09/10/27 11:46:11
上下にページャーを表示したgridviewで、
上のページャーとヘッダの境界の色を変更したいのですがうまくいきません。

どのbordercolorを変更すれば良いのでしょうか?

386:nobodyさん
09/10/27 12:48:40
>>383
あれごめん。
今試した範囲だとIDはやっぱり実行時バインドで設定できないみたいだ。
自分の勘違いだったっぽい。

>>385
GridViewのヘッダを表示してる<tr>要素に対してと、Pagerを表示している<tr>要素にしか
スタイルシートを設定できないので、その範囲で設定するしかないんじゃないかな。
ただPagerにスタイルシート適用すると上下両方とも反映されてしまうので、
上下対称に設定したいのなら、ヘッダの上のラインとフッタの下のラインに対して
スタイルシートを適用すると擬似的に境界の色は変えられると思う。

387:385
09/10/27 13:43:44
>>386
…よく分かりません

現状はこんな感じなんですが…
URLリンク(www.dotup.org)

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"
style = "text-align:center" HorizontalAlign="Left" AllowPaging="True"
BorderColor="Black" AllowSorting="True" Font-Size="Small" PageSize="15" >
(ry)
<Columns >
<asp:TemplateField HeaderText="flag">
<asp:BoundField DataField="hinban" HeaderText="品番" SortExpression="hinban" >
<HeaderStyle BorderColor="Black" />
<ItemStyle BorderColor="Black" />
</asp:BoundField>



388: [―{}@{}@{}-] nobodyさん
09/10/27 14:04:25
>>387
GridView.PagerStyleプロパティで変更出来るんじゃね

389:nobodyさん
09/10/27 14:29:34
>>388
PagerStyleでやると、上下に配置したのにラインがでちゃう。つまり

PagerStyle
<LINE1>
Grid
<LINE2>
PagerStyle
<LINE3>

PageStyleで下線を付けて<LINE1>を書こうとすると、<LINE3>にも予期しない下線が書かれちゃう。
本当はGridとの境の<LINE2>に線を引きたいはずの場合が多いのに。

>>387
ちょっと試してみるよ

390:nobodyさん
09/10/27 14:40:57
例えば<tr>に対してこんなふうにスタイルシートを設定して、
<style type="text/css">
<!--
tr.test { border-top-color:#00CC00;border-style:Solid; }
-->
</style>
HeaderStyleのCssClassに対してtestを設定するとか。
そうすると境界線のラインだけ色を変更するなり、太さを変更するなりできる。
根本的に別のラインを作りたいとかだと、自分でテンプレートをいじるなりしないといけないと思う。

391:nobodyさん
09/10/27 15:17:58
>>386
わざわざ試していただきありがとうございます。こちらもできないことが確認できました。他の手段で頑張ります。

392:nobodyさん
09/10/27 15:41:47
複雑な構造のhtmlが何かわからんけど、まぁ
htmlと一緒に動的にコントロールを生成して貼り付けていくしかないと思うな

このあたりが役立つんじゃないか?
URLリンク(www.atmarkit.co.jp)
URLリンク(www.atmarkit.co.jp)
URLリンク(www.atmarkit.co.jp)

393:nobodyさん
09/10/27 16:45:14
>>377
サーバコントロールじゃない普通のHTML要素なら、
id="ddl<% Response.Write(なんちゃら)%>"でできる
id="ddl<%= なんちゃら %>でも上と同じ意味

今どうなってるかわからんが、
サーバコントロールにする必要あるのか?
あるいは、ほんとに個別のIDが必要なのか?

個別のID振ったとしても、ページでコントロール生成したら、
実際にインスタンスが生成されるのはHTMLのレンダリング時だから
そのコントロールを操作するタイミングが無いぞ

394:nobodyさん
09/10/27 21:17:37
>>378
あれはCAPTCHAっていう。
フリーで使えるのはここ。
URLリンク(www.mondor.org)

395:nobodyさん
09/10/27 22:25:07
それってひょっとして
文字列をランダムに生成→その文字をbitmapなりで画像にしてランダムに歪ませる→画像として表示
なんてことやってんのかな?

396:nobodyさん
09/10/27 23:28:31
はてな界隈のRubyでつくってみた()笑 とかならそうかもしれないけど、
スパムする方もCAPTCHA破りの画像認識ツールを使っているそうで、
それなりなアルゴリズムを要するんだってさ。
で、そのアルゴリズムが公開されたら、スパマーもそれに対抗して(ry

397:nobodyさん
09/10/27 23:33:19
>>379 >>394
ありがとうございます。あれはCAPTCHAっていうんですね。

自分のサイトで、スクリプトで大量アカウントを作成される可能性
を減らしたかったのです。

ちなみに、中国のサイトで、漢字(簡体字)版のCAPTCHAを見たことがあります。
ピンインがわからないと文字を入力できないというだけでもつらいのに、
文字が歪んでいるから、元の漢字すらわからない。
日本人の自分ですら入力できないのだから、非漢字言語圏の人
にはお手上げだろうなぁ。
漢字版は、国外からのアクセスを禁止したい場合にはいいかもw


>>395
上のサイトみると、ノイズのレベルを調整したりフォントも変更できる
ようで、歪み自体は完全ランダムではないみたい。(文字列は長さを
指定した上でのランダム文字列)


398:nobodyさん
09/10/27 23:47:15
NTTdocomoがhtmlに直書きでやらかしてたなw
どうせデータの仕事だろうけどw

399:nobodyさん
09/10/28 00:31:33
暗号化してポストバックするか、セッションで持つとか、そんな感じ?
NTT-MEかもしれんぞ。
MEなら一度下請けしたことあるけど、うーん、・・・

400:nobodyさん
09/11/03 14:22:11
StringTemplateをWebサイトで使う方法はないのでしょうか。
Web アプリケーションでは使えるのですが。

401:nobodyさん
09/11/16 13:33:42
sessionにデータ突っ込むのってどの位のサイズまで許されるんかなぁ。
3MB位のオブジェクトを突っ込んでもいいんだろうか。
ちなみに同時アクセスは10人程度を想定。無論、InProcで動かしてる前提で。

402:nobodyさん
09/11/17 14:55:18
適切に破棄されて、マシンスペックが問題なければ、好きなように使えばいいんでないの?

403:sage
09/11/18 12:47:49
>>402
全然理解して無い無能が無理して回答しなくて言いと思うんだ。
柔らかい言い方すると、馬鹿は黙ってすっこんでろ池沼。


>>401
100KB以下に抑えるべし。
じゃないとページ開く度に負荷がかかる。3MBとかならSession情報をDBに突っ込む事も
考えたほうがいい。

404:nobodyさん
09/11/18 12:57:24
そんな当たり前の回答は皆思いつくけど回答してないだけで、
動くか動かないかでいえば>>402まちがっちゃいない。

405:nobodyさん
09/11/18 13:16:28
StateServer利用してDBに入れたらシリアル化させる必要があるから、
余計に負荷がかかるんじゃないか?
InProcで問題ないなら、同時使用人数が10人で3Mぐらいなら、
今のサーバなら十分じゃね?
やったことないから適当ぶっこいてるけど。

406:nobodyさん
09/11/18 15:55:22
>>403の100KBって根拠は不明だな
あとページの負荷って、セッションをDBにいれると、DBアクセスの
オーバーヘッド分だけ負荷は増えるんだぜ

>>402はまったく間違えてはいないが、問題は適切な廃棄が難しい
セッションの廃棄はほとんどタイムアウトでしか不可能だから

同時アクセス10人ってのが、同時リクエスト10人なら
1リクエスト1秒でも10分で6000アクセスだぜ
これが全部別セッションで3M使ったらメモリ持たんわな

セッションが一つなら、3Mだろうが10Mだろうが平気だがな

結局のとこ
セッションサイズは小さければ小さいほどいい
実際の限界はマシンスペックと処理するリクエスト数による
っていう、なんの参考にもならん回答に落ち着くわけですわ

407:nobodyさん
09/11/18 16:11:18
一番理解していないのは>>403でした。ちゃんちゃんってことでFA?

408:nobodyさん
09/11/18 16:14:44
男は黙ってQueryString

409:nobodyさん
09/11/18 17:20:35
赤間本には「1つの目安として、数100KBを超えるデータをSeesionオブジェクトに格納する場合には注意が必要」
と、ふわっと書いてあります。

410:nobodyさん
09/11/18 17:45:05
俺の持ってるプログラマ読本には、
メモリ空間は16ビットなのでメモリの消費には絶えず気をつけろって書いてある

411:nobodyさん
09/11/18 18:22:50
>>409
その記述がどこにあるのか正確な所がわからんが、
数百キロで注意なら、百キロなら平気だと取れなくもない

.NETエンタープライズWEBアプリケーション開発技術大全Vol.3では、
100K以下を指標としているが、その脚注に、「実際の上限はシステム構成によって変わるため
最終的にはパフォーマンステストを実施して決定することを推奨する」とある

Iただし、この本ではInProcモードは推奨してない。そしてInProc以外ではセッションの
シリアライズ等に要する時間が無視できないほど大きくなる、とある
さらに、この本は.NET1.1時代の本だから、今の環境にそのままあてはまるとは言えない

まあ、結局のとこテストして様子見てみろ、としか言えない

ただ、InProcからそれ以外に変更すると、InProcでしか格納できないものを
格納してたりしてわけわからんバグのもとになったりするんだよなぁ
なぜ>>401はInProc前提なんだ?

412:nobodyさん
09/11/18 18:35:31
同時アクセス10人が何を意味するかだよな
単純にユーザが10人で、だから同時アクセスの最大数も10とかなら、
全然問題ないんじゃないか?

結局、セッションが適切に破棄できて、サーバスペックが問題ないようなら、
使えばいいんでない?という>>402の結論に帰結する。


413:anonymous
09/11/18 18:59:05
>>412
お前 >406 ちゃんと読んでる?

414:nobodyさん
09/11/18 19:01:33
というかInProcって、プロセス再起動とかで勝手に消えて困るやつじゃ。

415:nobodyさん
09/11/18 19:08:49
>>413
それも一つの解釈だろ?結論ではない。
何を言ってるんだ?

416:nobodyさん
09/11/19 00:16:11
412 名前:nobodyさん[sage] 投稿日:2009/11/18(水) 18:35:31 ID:???
>>402の結論に帰結する。

413 名前:anonymous[sage] 投稿日:2009/11/18(水) 18:59:05 ID:???
>>412
お前 >406 ちゃんと読んでる?

415 名前:nobodyさん[sage] 投稿日:2009/11/18(水) 19:08:49 ID:???
>>413
それも一つの解釈だろ?結論ではない。


412は結論といってる様だが?

417:nobodyさん
09/11/19 11:47:40
>>416
結論は両者ともマシンスペック次第って言ってるけど?
なんでそんなに日本語理解能力が乏しいの?

418:nobodyさん
09/11/19 12:14:08
必死ダナー

419:nobodyさん
09/11/19 16:31:43
すみません、どなたか教えて欲しいんですが、現在GligViewをつかって表を表示
させているんですが、現在はとりあえずMAX1000明細に制限して、もし制限を
超えるようなら「検索条件を変えてもっと明細を絞って下さい」みたいなメッセ
ーじを出しているんですが、お客さんからの要望で抽出した明細をきちんと全部
みたいと言われていて、条件を指定しなかったら万単位の明細行数になるんでペ
ージ切り替えでもいいですかって方向で持っていこうとしたらページ切り替えは
分かりにくいから駄目だといわれたんですが、GOOGLEマップみたいに画面
をスクロールさせるとちょっとづずデータを取ってくるような仕組みはASPで
も可能なんでしょうか?

420:nobodyさん
09/11/19 17:21:45
menuItemをクリックされたらjavascript:_doPostBackが呼ばれるよりも前に自前の
JavaScriptを実行したいんだけど可能?
要は「画面を移動します。よろしいですか?」みたいなダイアログを出したい。

ButtonならOnClientClick()で楽勝なんだけど。

421:nobodyさん
09/11/19 18:17:59
>>419
それAJAXで実際にやってみたけど、上のログにも感想あると思うけど、
AJAXで実装したら、サーバへのアクセス~表示までのタイムラグがありすぎて実用的でなかった。

>>420
>>186参照

422:nobodyさん
09/11/20 00:30:35 Fa9imoF+
教えてください(o_"_)o

Microsoft.Practices.EnterpriseLibrary.Loggingを使って
テキストファイルにログを吐く場合に、文字コードを指定することは可能でしょうか?

423:nobodyさん
09/11/21 14:35:48
Message に入れる前に変換すればよかろ。

424:nobodyさん
09/11/23 01:06:05 4oP4nvDo
ハマってしまっているのでどなたか教えてください。

Public clsA As A = New A
Public clsB As B = New B

上記記述にてクラスファイルを参照し、実行した際に下の行だけ
「見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。」
というエラーが出てしまいます。

原因はなんでしょうか?

425:nobodyさん
09/11/23 03:31:17
もうちょっと詳細を書け
AとかBとかはどこで定義されているんだ


426:nobodyさん
09/11/23 08:32:23
説明が不十分だったみたいですいません。

aspx.vb内の

Partial Class ClassA
Inherits System.Web.UI.Page
    Public clsA As A = New A
    Public clsB As B = New B

こういった記述です。
AとBは別のクラスファイルにPublic Classとして宣言しています。
他に何か書かないといけない事あったら言ってください。

427:nobodyさん
09/11/23 10:11:11
まず開発環境かけ
WEBアプリなのかWEBサイトなのか
AとBは同じファイルに定義してあるのか?

まあなんかテンポラリ削除したら直りそうな気もする


428:nobodyさん
09/11/23 11:37:20
何度も申し訳ありません。

VisualStudio2005で作ったWEBアプリで、IIS上で動作させています。
.NETFrameworkは2.0です。

AとBは別ファイルです。

テンポラリはWeb.configの記述ですか?

429:nobodyさん
09/11/23 18:04:25
WEBアプリとWEBサイトの区別はついてるか?
AとBの定義してあるファイルはどこにあるんだ?
そのファイルは.dllなのか.vbなのか?

テンポラリは標準ではたぶん
c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
あたり。この中身ズバッと消して見れ

430:nobodyさん
09/11/25 16:38:29
.net 2003(asp.net)の
datagridへのデータの表示方法なのですが、

コード 名称  数 金額
11 テレビ32 1 10000
12 テレビ42 3 60000
21 DVDレコーダ 1 10000
22 BDレコーダ  2 40000

のような売上データをDBから取ってきて、

コード 名称 数 金額
11 テレビ32 1 10000
12 テレビ42 3 60000
  テレビ計  4 70000
21 DVDレコーダ 1 10000
22 BDレコーダ  2 40000
  レコーダ計   3 50000
  総計      7 120000

のように表示させるにはどうすればよろしいでしょうか。
「総計」に関しては、単純にフッターに表示出来ますが、
「テレビ計」のような中間計を表示させるうまい方法がわかりません。
テレビのコード帯は10~19、レコーダのコード帯は20~29です。
恐れ入りますが、教えて頂けますでしょうか。(参考URL等でも)




431:nobodyさん
09/11/25 18:42:42
表示させるだけなら、SQLのCUBEとか、ROLLUPだっけ?を使えばできるんじゃね?
各明細の編集ボタンも表示させたいとかだと不自由かもしれないけど。

Repeaterでやれば各行を集計して、コード帯やらが変わるたびに集計行を表示とか
いろいろできると思うけど。

432:430
09/11/26 02:15:49
>>431
SQLで小計出力が出来ることを知りませんでした。
cube rollup 調べてみます。
(datatableをバインドする前に、
新たなdatatableを作って、コード帯が10~19だったら、
それまでの合計を足して、NewRowに入れて、Addするみたいな
イメージで組もうとしてました)

ありがとうございます。



433:nobodyさん
09/11/26 10:44:47
ROLLUP!そういうのもあるのか


434:nobodyさん
09/11/27 00:01:40
FtpのWebClientとかあるけど、あれってクライアントPCからアップできる?

権限のからみでほとんど使えないだが…

435:nobodyさん
09/11/28 08:10:59
GridViewの「編集」ボタンで、データの[更新日時]にNow()関数で更新日時が自動で
入力される様にしたいのですが、色々調べてみたのですがわかりません。
どうすればよいのでしょうか?よろしくお願いします。
DB:MS Access、VWD2005、VB

436:nobodyさん
09/11/28 09:38:53
RowUpdatingイベントで放り込めば

437:nobodyさん
09/11/28 13:32:50
>>435
Now()が、DateTime.Now()かSQL文のNow()が不明だからなんとも。
単に編集ボタン押した時に、その日付を入れたいなら>>436で。
ただ、実際の日付更新はUpdate文にNow()を記述して更新したほうが、
日付の更新し忘れがなくていいような気がする。仕様次第だけどさ。

GridViewにDataBindして編集したときって、
編集された内容をViewStateで保持し続けて、
Update後もUpdate前のデータを引きずるんだっけか?
それでSQL文のNow()が反映されないという意味なら、
DataSetで更新後のデータを引っ張るようにSQL文を記述するしかないと思われる。

INSERT **** WHERE ID = @ID; SELECT *** WHERE ID = @IDみたいな
INSERT ****;SELECT *** WHERE ID = SCOPE_IDENTITY();みたいな

438:nobodyさん
09/11/28 13:34:04
×INSERT **** WHERE ID = @ID; SELECT *** WHERE ID = @IDみたいな
○UPDATE **** WHERE ID = @ID; SELECT *** WHERE ID = @IDみたいな



439:nobodyさん
09/11/28 16:55:14
>>437
ありがとうございます。
> ただ、実際の日付更新はUpdate文にNow()を記述して更新したほうが、
> 日付の更新し忘れがなくていいような気がする。仕様次第だけどさ。

この方法で行きたいです。

> GridViewにDataBindして編集したときって、
> 編集された内容をViewStateで保持し続けて、
> Update後もUpdate前のデータを引きずるんだっけか?
> それでSQL文のNow()が反映されないという意味なら、
> DataSetで更新後のデータを引っ張るようにSQL文を記述するしかないと思われる。

たぶん、この現象でUpdate後にDBにNow()が反映されないです。

440:nobodyさん
09/11/28 16:56:18
>>437
以下のテストコード書いてみました。
テーブル名:名簿3
ID(主キー):オートナンバー型(長整数型)
名前:テキスト型(サイズ50)
年齢:数値型(整数型)
作成日時:日付/時間型
更新日時:日付/時間型

<asp:AccessDataSource ID="AccessDataSource11" runat="server" DataFile="~/App_Data/MyDB.mdb"

  UpdateCommand="UPDATE [名簿3] SET [名前] = ?, [年齢] = ?, [作成日時] = ?, [更新日時] = Now() WHERE [ID] = ?">

  <UpdateParameters>
     <asp:Parameter Name="名前" Type="String" />
     <asp:Parameter Name="年齢" Type="Int16" />
     <asp:Parameter Name="作成日時" Type="DateTime" />
     <asp:Parameter Name="ID" Type="Int32" />
  </UpdateParameters>
</asp:AccessDataSource>

コードを書いて、動かしてみましたが
> UPDATE **** WHERE ID = @ID; SELECT *** WHERE ID = @IDみたいな
> INSERT ****;SELECT *** WHERE ID = SCOPE_IDENTITY();みたいな
のアドバイスをどう反映させれば良いのかわかりません。

上記コードの動きは、エラーは何も表示されず、更新内容がDBに反映されない。
もちろん「更新日時」情報も更新されず、以前の情報が入ったままです。

441:nobodyさん
09/11/28 18:31:02
>>440
まずデータベースに更新されないところを解決してみたら?
自分はAccessではやったことがないので、よくわからんが。
更新時間の表示はそれからでも遅くないぞ。

442:435
09/11/28 19:11:41
>>441
アドバイスありがとうございます。
正しく動くコードを書いてみました。
以下のコードだと、修正内容でDBが更新され、GridViewへも更新された内容が表示されます。

<asp:AccessDataSource ID="AccessDataSource11" runat="server" DataFile="~/App_Data/MyDB.mdb"

  UpdateCommand="UPDATE [名簿3] SET [名前] = ?, [年齢] = ?, [作成日時] = ?, [更新日時] = ? WHERE [ID] = ?">
  
  <UpdateParameters>
    <asp:Parameter Name="名前" Type="String" />
    <asp:Parameter Name="年齢" Type="Int16" />
    <asp:Parameter Name="作成日時" Type="DateTime" />
    <asp:Parameter Name="更新日時" Type="DateTime" />
    <asp:Parameter Name="ID" Type="Int32" />
  </UpdateParameters>
</asp:AccessDataSource>

443:nobodyさん
09/11/29 16:12:41
教えてください。

visual web developer 2008で

新しいウェブサイトの作成→F5キーで「デバッグを開始」
をすると、

デバッグを有効にするためにweb.configを変更する
のダイアログ表示後、

LMS
c:\マイドキュメント~\http:\localhost:3745\(作った新しいウェブサイト名)\ cntaints an invalid path.

というダイアログが表示してしまいます。
どういった現象で、どう解決したらよいのでしょうか?

444:nobodyさん
09/11/29 16:28:31
c:\マイドキュメント~\http:\localhost:3745\(作った新しいウェブサイト名)\
ってディレクトリっていうかフォルダが存在していないとか?
そもそもディレクトリ名にコロンとか無理でしょ

445:nobodyさん
09/11/29 16:39:19
>>442
AccessじゃなくてSQLExpress(無料のやつ)で悪いんだけど、こんなんで動作してるな。
しかも、編集したあとはちゃんと日付をもってきてくれてるから、
あとから編集後の行だけ再取得するクエリとか記述しなくてもいいみたいだ。

ちなみに>>437に書いたのは、.xsd等を使って自分でDataSetを定義して、
Update後に、Updateした行を再取得する方法。

<asp:SqlDataSource ID="SqlDataSource1" runat="server"
 ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
 SelectCommand="SELECT * FROM [TableMaster]"
 UpdateCommand="UPDATE TableMaster SET TestInt = @TestInt, DateTime = { fn NOW() } WHERE (TestMasterID = @TestMasterID)">
</asp:SqlDataSource>

446:435
09/11/29 17:56:49
>>445
アドバイスありがとうございます。
当方でもVWD2005 + SQL Server2005でMS Accessと同じテーブルを作成し確認してみました。
[更新日時] = {fn Now()} の記述で問題なく、更新日時に現在に日時が入力されGridViewに
表示されました。

現在の環境はSQL Serverは使えず、MS AccessをDBとして使用しています。

<asp:SqlDataSource ID="SqlDataSource11" runat="server" ConnectionString="<%$ ConnectionStrings:myDb %>"

  SelectCommand="SELECT [ID], [名前], [年齢], [作成日時], [更新日時] FROM [名簿3]"
  UpdateCommand="UPDATE [名簿3] SET [名前] = @名前, [年齢] = @年齢, [作成日時] = @作成日時, [更新日時] = {fn Now()} WHERE [ID] = @ID">

  <UpdateParameters>
    <asp:Parameter Name="名前" Type="String" />
    <asp:Parameter Name="年齢" Type="Int32" />
    <asp:Parameter DbType="Datetime" Name="作成日時" />
    <asp:Parameter Name="ID" Type="Int32" />
  </UpdateParameters>
</asp:SqlDataSource>


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch