【質問】ASP.NETスレ Part6【雑談】
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2009/09/01(火) 20:06:04ID:???Microsoft .NET Frameworkの一連のテクノロジの一つです。
技術の移り変わりの早い分野ですので、みんなで質問、相談しつつ、より理解を深めていきましょう。
●ASP.NET関連サイト
マイクロソフトASP.NETデベロッパーセンター
http://msdn.microsoft.com/ja-jp/asp.net/default.aspx
ASP.NETオフィシャル(英語)
http://www.asp.net/
VisualStudioホームページ
http://www.microsoft.com/japan/msdn/vstudio/
SQLServerホーム
http://www.microsoft.com/japan/sqlserver/2005/default.mspx
IISオフィシャル(英語)
http://www.iis.net/
ASP.NETにAJAX技術を取り入れるASP>NET AJAX(英語)
http://www.asp.net/ajax/
ASP.NETにMVCアーキテクチャを取り入れるASP.NET MVC(英語)
http://www.asp.net/mvc/
ASP.NETでのお役立ちの定番サイト
http://www.atmarkit.co.jp/channel/aspnet/aspnet.html
●前スレ
【質問】ASP.NETスレ Part5【議論】
http://pc11.2ch.net/test/read.cgi/php/1232671611/
0002nobodyさん
2009/09/01(火) 21:25:49ID:???0003nobodyさん
2009/09/01(火) 22:35:54ID:???昔から重いイメージがあるんですが
0004nobodyさん
2009/09/03(木) 10:48:20ID:???たとえば aspxファイルが C:¥Inetpub¥wwwroot¥app¥foo.aspx だとして、
求めたいのは C:¥Inetpub¥wwwroot¥app です。
System.IO.Directory.GetCurrentDirectory() を使うと C:¥Windows¥System32 が帰ってくるので困ってます。
0005nobodyさん
2009/09/03(木) 10:59:45ID:???0007nobodyさん
2009/09/03(木) 16:07:15ID:???ページのサイズは他のフレームワークに比べ、肥大化する傾向があるな。
そういう意味では他と比べて重くなるかもしれない。
とはいえ、ちゃんとしたベンチは取ったことはないが、
ASPで作ったページよりASP.NETで作ったページは体感で重く感じるな。
ポストバックが目にうるさいというのもあるが。
DB周りは速くなってたので、サーバーコントロールのレンダリングが
大変なんだろなーということで俺の中で決着した。
0008nobodyさん
2009/09/03(木) 16:34:06ID:???http://www.atmarkit.co.jp/fwin2k/dnsvrguide/iisperf/iisperf_05.html
●CGI(C++)とASP.NET、ASP、PHPのベンチマーク
http://www.wrensoft.com/zoom/benchmarks.html
●PHPとASP.NETのベンチマーク
http://www.misfitgeek.com/pages/Perf_Tests_PHP_v2_08122009.html
0009nobodyさん
2009/09/03(木) 20:02:33ID:???でも2回目以降はそんなに遅いとは感じられない
プリコンパイルかけても1回目は遅い気がするから、遅いのはASP.NETじゃなくて
IISかもしれないが、まあその区別はあんまり意味がないかもしれん
0010nobodyさん
2009/09/03(木) 22:41:47ID:wWmDoC3TC#で列挙型って内部的に整数をもっているけど、
これを文字列型にしたい。できないのかな?
http://msdn.microsoft.com/ja-jp/library/cc482663.aspx
やりたいことは、関数の引数の値(string)を限定したい。
0011nobodyさん
2009/09/03(木) 22:44:57ID:???enum FlyType { Eco, Bus, Fst };
で宣言したら、Eco.ToString()でstring型で"Eco"が取得できない?
0012nobodyさん
2009/09/03(木) 22:45:43ID:???0013nobodyさん
2009/09/03(木) 22:47:51ID:???0014nobodyさん
2009/09/04(金) 00:52:00ID:7hywDWuEども。
>enum FlyType { Eco, Bus, Fst };
このとき、
Eco="001"
Bus="002"
Fst ="003"
としたいです。
現行システムで、DBの値に固定で持っているので。
((int)FlyType.Eco).ToString()のあとにゼロパッディングすれば、
できそうですが、もっとスマートな方法はないでしょうか?
"AAA"などの英字にも対応したいです。
0015nobodyさん
2009/09/04(金) 00:57:14ID:???0016nobodyさん
2009/09/04(金) 01:05:24ID:7hywDWuEhttp://ascii.jp/elem/000/000/452/452106/index-3.html
のサンプル07のように、入力フォームにdl,dt,ddタグを使うのはありでしょうか?
tableタグを使うよりカッコイイと思いましたw
クロスブラウザでスタイルを考慮すると、cssで苦労しそうですか?
とくに修正時(修正者が作成者と違う場合)のコストが大きい?
0017nobodyさん
2009/09/04(金) 01:12:33ID:???あるけどない
ないというのは、結局地道に↓みたいに自作するしかない
http://www.atmarkit.co.jp/fdotnet/dotnettips/116formatint/formatint.html
あるというのは、泥臭く自分で作るしかないけど、そういうクラスを自分用で定義して、
静的クラスとして利用すれば、それなりにスマートに利用できるし、
拡張メソッドを使えば、静的メソッドをインスタンスメソッドのように呼び出すことができる。
0018nobodyさん
2009/09/06(日) 03:50:25ID:???ここよりWeb制作板の方が適切だと思う。
個人的には前者はアリ。後者は自前で全て用意せず、
css / javascriptフレームワークを使用するのが吉。
0019nobodyさん
2009/09/06(日) 23:11:26ID:???www.asp.netのサンプルやらMS謹製含む書籍を見てもみんなバラバラ。
BLLとDALに分けるんじゃなかったのかよと。
ある本では型付きデータセット最強と書いてて、
またある本では型付きデータセットは複雑な業務ロジックに使えないから
自前のエンティティクラスをバインドすべしと書いてあって、
いや、型付き無しのデータセットで十分みたいな論もあったり。
もう訳分からん。
で、「このやり方ならOKだ!」みたいな文句に惑わされてホイホイリンクを辿ると、
どっかの会社の独自フレームワークか、SqlDataSource一つだけのしょぼいサンプルとか。
もう疲れたよママン
0020nobodyさん
2009/09/06(日) 23:23:40ID:???まあ、それぞれ開発者によって前提が違うので言ってることがバラバラになるのは当たり前だと思うよ。
鵜呑みにするんじゃなくて、自分でそれぞれの手法のメリットとデメリットを書き出してみて、
自分の立場で一番優れていると思う手法を採用すればいいだけのこと。
それはASP.NETに限ったこっちゃないけど。
0021nobodyさん
2009/09/06(日) 23:41:50ID:???型付きDataSet→クエリ固定でVSが自動的に作成するDataSet
型無しDataSet→クエリを動的に生成して自分でDBからデータを取得
という位置づけで書いてるんじゃね?
型無し、型付きは、それぞれが問題じゃなくて、それを実装するコストが問題なんでしょ。
クエリ固定で、where文ぐらいを動的に生成すればいいぐらいなら、IDEが自動で作ってくれる
型付きDataSetでも十分。複雑なクエリで動的にクエリを発行しなけりゃならい場合は、
型付きデータセットの定義を作製するのが面倒だから、別に型付きでなくていいよって話ではないかと。
0022nobodyさん
2009/09/07(月) 04:57:31ID:???まず、前提としてるバージョンをよく確認しないとだめだぜ
あとは対照としてる規模とかにもよって変わるしな
で、最適な組み方は設計方法によっても違う
標準といわれる設計がないので、標準的な組み方もないんだよ
0023nobodyさん
2009/09/07(月) 23:10:36ID:???の中身がほとんど一緒なんだけど微妙に違う、みたいな時どうしてる? Edit
だとキー項目は見せてもいじらせないとか。
DRY 原則に従い、CompositeControl 継承したカスタムコントロールを
毎回自作しているが、これで良いのかどうかわからん。慣れてしまえば楽
だが、そもそも ASP.NET ってなるべくコード書かないようにするための
仕組みだし、メンテナが変わった時の引き継ぎがめんどいなあと悩み中。
0024nobodyさん
2009/09/07(月) 23:36:23ID:???ASP.NETをフレームワークとして捉えるならその通りなんだけど、
カスタマイズ性の乏しいFormViewとかGridViewは、
あると便利的なコントロールなんで、
フレームワークの一つとして捉えるのは本末転倒だと思う
なんて言うのかな
個々に特化したサーバコントロールは料理に例えると、めんつゆであり、ポン酢。
蕎麦やしゃぶしゃぶとか、それぞれにマッチした料理にはぴったりだけど、互いの流用はできない。
基本となるサーバコントロールは醤油。鰹だしとみりんでめんつゆだし、柑橘類があればポン酢にもなる。
自分なら基本的なサーバコントロールの醤油だけ使って作成するかな。
002523
2009/09/08(火) 00:07:14ID:???言ってる意味がわからんが、FormView はテンプレートで自由に
レイアウトをカスタマイズできるし、ObjectDataSource と組み
合わせて DB アクセスするにはもってこいじゃないの?
醤油だけで作るってのはつまり、FormView を使わないってこと?
俺にしてみりゃあり得ん話だが、なぜそうするのか理由が知りたい。
0026nobodyさん
2009/09/08(火) 00:21:04ID:???既に書いてるけど、めんつゆに合う料理ならめんつゆでいいし、ポン酢ならポン酢に合う料理に使えばいい。
そのかわり、基本はめんつゆやポン酢なので、許容範囲が狭い。
醤油なら、めんつゆもポン酢も作れるし、もちろん醤油ベースのステーキソースも作れる。
ポン酢やめんつゆで料理が簡単に作れるのはいいけど、
それに捕らわれて料理全般の多様性が減ったり、
ベースとなるめんつゆやポン酢以上の味が作れないと感じるから。
もちろんポン酢を利用してる人でも、醤油ベースで様々な料理は作れるけど、
そこにポン酢のメリットや利便性を醤油に求めるのはおかしいと思うってこと。
002723
2009/09/08(火) 00:42:27ID:???ありがとう。醤油は好きだが理解しあえないのが良くわかった。
>>23 を読み返して自分でも意味不明だったので再度書いてみる。
FormView の InsertItem と EditItem の内容がほとんど同じだけど微妙に違う
という状況はメンテナンス性が悪いし、コードも重複するので何とかしたい。
同じ内容の検証コントロールをそれぞれに貼るとか耐えられない。
そこで、モードによってレイアウトと機能を切り替えるカスタムコントロール
を自作し、FormView の InsertItem と EditItem にそれぞれ貼り付けている。
これでレイアウトと機能が再利用できる。もちろん DataBindings の設定は重複
するが、現状ではそこを追求しても仕方がないので割り切っている。
これは割と良くある状況だと思うのだが、経験談を聞かせてもらえると嬉しい。
0028nobodyさん
2009/09/08(火) 01:02:56ID:???ない
FormViewなんてつかわない
0029nobodyさん
2009/09/08(火) 07:59:50ID:???漏れのやってるプロジェクトもFormView使ってるが、もう諦めてPerlかなんかで置換スクリプト書こうと思ってる。
クラス継承して作ってもインターフェースのどのメソッドが呼ばれているか分からんし、MVCとかDynamicDataとかで使うとなると内部の手続き調べるのが大変。ソースコピペを自動化した方が良いと思う。
0030nobodyさん
2009/09/08(火) 09:02:28ID:???>>27
>FormView の InsertItem と EditItem の内容がほとんど同じだけど微妙に違うという状況
この微妙というのが、どの程度の微妙さかにもよるんだけど、
ウチは開き直って登録と修正を別のUserControl, FormViewにしてしまうことが多い。
確かに分けると重複する部分が出てくるが、
経験上、一つにまとめてしまうと度重なるメンテを受けた後、
それぞれのモードの専用処理が恐ろしいことになりやすい。
また、そもそも初期状態でも、モードごとの専用処理を抜き出すと
それだけで結構な分量になっていることがある。
じゃあ1クラスで全て完結させるのは諦めて、
完全に共通な処理を外出ししてから、
それぞれのモードを別クラスとして扱った方がよくね?という流れ。
要するに、FormView, GridViewのモード切り替えって使えねぇなという(ry
0031nobodyさん
2009/09/08(火) 14:25:57ID:???プログラミングASP.NET 3.5によると、
編集と挿入が要件の異なる別個の処理であることを理解してください
らしいので、そもそもその二つを共通化しようとする方向が間違ってるらしいぞ
だからと言って登録専用FormView、修正専用FormViewを作るのはやり過ぎな気がするが
表示用FormViewあったら、1ページにFormView合計三つ定義することになるんだよな?
0032nobodyさん
2009/09/08(火) 15:54:59ID:???登録、修正画面を作ったほうが楽ってことだな
DBへの登録、修正の画面パターンなんて数パターンしかないだろうから、
一度作ればひな形ができて、あとは使いまわすだけじゃん
なんでFormViewとかGridViewとか、使い回しの悪いものを使うのかわからん
0034nobodyさん
2009/09/08(火) 20:48:57ID:???しかもFormViewという足枷が外れる
作成する便宜に捕らわれすぎて、本来何のために開発してるのか
見失ってるんじゃないか?
0035nobodyさん
2009/09/08(火) 21:11:53ID:???FormViewはDynamicControlが使えるからじゃまいか。
本来の使い方をすれば、一々入力フォームの形式を考えずに済むぞ。
003623
2009/09/08(火) 22:04:35ID:???CompositeDataBoundControl 実装するの? すげーや。
>>29
自動化は賛成だが、動きは理解しとかないとまずいだろ。
>>30
登録と修正は単一の FormView で ChangeMode するだけだと思うが。
>>31
登録も修正もレイアウトと入力チェックは似たようなもんだろ? そこを共通
化したいんだよ。実際の更新作業はデータソースがやるからまた別の話。
>>32
ASP.NET と ADO.NET っていう道具立てで FormView を回避するほうが
わからんよ。
>>34
FormView が足枷なわけないだろ。開発者を助けてくれるのに。
>>35
DynamicData って Oracle でも使えたっけ? 一応、Oracle と SQLServer の
両方に対応せよということなので、使ってなかったが。
003723
2009/09/08(火) 23:06:13ID:???FormView を使う時には、以下のようにカスタムコントロールを使うのが
理想的ではないか、というのが現時点での俺論。カスタムコントロールには
編集に必要な全てのコントロールやバリデータが含まれているから、わざわざ
FindControl せずに済むというメリットもある。テンプレートを使いながら
タイプセーフを実現できるわけで、この利点は捨てがたい。
FormView
|
+- DataSource -> データオブジェクト(Select/Insert/Update/Delete)
|
+- InsertItemTemplate -> カスタムコントロール(mode=Insert)
|
+- EditItemTemplate -> カスタムコントロール(mode=Update)
当然ながら、Select の引数には GridView の SelectedValue をバインドして
一覧と同期させている。
しかし、このカスタムコントロールの実装は Joe Coder には敷居が高いのでは
ないか。デザイナで aspx をいじれば済むという手軽さを失うわけだから。
標準化とあわせて、このあたりの折り合いをどうつけているのか、うまい落し
どころはないか、というところが知りたいのっす。
0038nobodyさん
2009/09/08(火) 23:27:54ID:???>FormView が足枷なわけないだろ。開発者を助けてくれるのに。
足枷だろ?FormViewで実現できない仕様を渡されたら嫌な顔するだろ?w
つーか、要求定義の段階でユーザからの要望をはねつけてるだろw
ASP.NETの使用上できませんとかいって。本末転倒。
0039nobodyさん
2009/09/08(火) 23:31:48ID:???そんな面倒なとこするなら、初めからポトペタで済ませたほうがよっぽど楽だろ
InsertもUpdateもほぼ同じロジックで流用できる。
新規か編集か、つまりIDがあるかないかで、InsertするかUpdateするかを分けるだけだ。
バリデーションもすべて共有できるし、編集されたくないコントロールはReadOnlyにするだけ。
大したコスト削減にもならんのにFormViewに固執する理由がわからん。
004023
2009/09/09(水) 00:24:25ID:???ASP.NET でやりやすいように設計するだけの話。それ以上でも以下でもない。
>>39
FormView を使わなかったらデータ項目とコントロールのやり取りを全部手で
書く必要があるし、SQL も泥臭く書くことになるんじゃないの? 俺にとっては
そっちのほうが面倒なんだけどな。
0041nobodyさん
2009/09/09(水) 03:21:58ID:???(SQL)データソースの更新機能だけでDB更新が事足りる
再利用しないカスタムコントロール作るのを余計な作業と思わない
(結果として)同じ処理をするコードは極力一つにまとめないと気が済まない
まあ、こんな感じだな
俺には一つも当てはまらねぇw
いまだ1.1の修正させられる俺に言わせれば、RepeaterでOK
それ以外は使いたければ使えば、って感じ
0042nobodyさん
2009/09/09(水) 07:28:11ID:???>ASP.NET でやりやすいように設計するだけの話。それ以上でも以下でもない。
つまり顧客の要望であってもASP.NETでやりにくければ、そういう設計にはしないってことだな。
んー、自社向けなら許されるけど、納品する立場ならこんな発言許されないだろ。
プログラマ(というか設計者)として失格だと思うぞ。
>FormView を使わなかったらデータ項目とコントロールのやり取りを全部手で
>書く必要があるし、SQL も泥臭く書くことになるんじゃないの?
それのどこが問題なの?
求められる要求に対して、これらのコントロールが活用できるならすればいい。
しかし、そのコントロールを使わないと面倒で泥臭くて嫌と考えたり、
ましてASP.NETでやりやすいように設計するなんてのは本末転倒。
それに、ASP.NETが開発効率を上げるための仕組みだ。
結果、副次的にコードの記述が少なくなるところまでは理解できるが、
だからそういったコントロールを使わなきゃいけないと思うのは完全に間違いだろ。
あくまで利用できるところにのみ利用し、難しいところは基本的なコントロールで代替する。
ASP.NETは、基本的なコントロールを利用するだけでも開発効率は十分に高い。
>俺にとってはそっちのほうが面倒なんだけどな。
俺が思うプログラマが決して言ってはいけない言葉。それは「面倒」。
004435
2009/09/09(水) 07:52:48ID:???すれ違いになるが、その「面倒」はこの先納品した客も被る訳だ。面倒を顧客の要望だからと言ってただ言いなりに実装するのは、自分にも顧客にも良い結果にはならない。
まあこういうフレームワークは日本の箱庭的システムにはそぐわないかもね。
004523
2009/09/09(水) 08:04:03ID:???俺のところだと SQL 手書きが発生するのは全体の 2 割以下だな。それもこれも最新の
ASP.NET が使えるおかげ。
>>42
わかった。お互い別の道を歩もう。
0046nobodyさん
2009/09/09(水) 08:57:27ID:???0047nobodyさん
2009/09/10(木) 09:08:58ID:???インストール先のサーバーにはFrameworkが1.1と2.0が入ってて、規定のサイトのASP.NETは1.1に設定されている。
この場合配置されたサイトは1.1で動作するようになってしまうんだが、インストーラー側で2.0に切りかえれないものだろうか?
配置後に手動で切り替えれば済むことなんだけど、なんとかならないかな。
web.configのsupportedRuntime要素を設定してもダメみたいだし。
0049nobodyさん
2009/09/11(金) 03:52:35ID:???本末転倒
0050nobodyさん
2009/09/11(金) 08:22:52ID:???0053nobodyさん
2009/09/11(金) 19:07:44ID:???応用的なの作っても、結局特定の用途向けみたいな感じで、
万人向けじゃなくなっちゃうし、
かといってカスタマイズがこんだけできるんですって作ると、
今度は複雑になって逆に万人向きじゃなくなる感じがする。
今までで困ったのは帳票ぐらいかな。
こればかりは買ったぞ。数十万とかで。
あとはrepeaterさえ攻略すればなんとかなる感じ。
ところでformviewが話題になってるけど、
外部制約とかの整合性制約がある場合も対応できるの?
商品名を選択させてIDを入れるとか、
重複しない商品コードを入力させるとか。
試そう試そうと思っているうちにそのままなんだ。
0054nobodyさん
2009/09/12(土) 13:14:52ID:???登録フォームをどうやってFormViewで作るの?
何かしらバインドしないとFormViewって表示されないよね?
0055nobodyさん
2009/09/12(土) 17:18:05ID:???0056nobodyさん
2009/09/12(土) 23:04:00ID:???わからないのは、いまのところ4つ
・ParentTable→ParentID ParentCode ChildID
・ChildTable→ChildID ChildCode
があって、ParentTable.ChildIDはChildTableのChildIDと同じで、
FormViewでChildCodeを入力することによってParentTableのフィールドを更新なり挿入なりしようとしている場合。
1)
テーブルがこんな感じで、ParentTableにChildTableの主キー(ChildID)を保持してる場合、
FormViewのChildIDをChildCodeに置換してlistboxなどで表示する方法ってある?
2)
同時実行制御はデータソースでのデータバインド時にParentTableの実行制御はできると
思うんだけど、ChildTableが変更された場合にも同時実行制御の対応できる?
(入力中にChildTableが編集される可能性を排除するため)
3)
2)と近いけど、ボタンをクリックしてから、実際に保存するまで、
ParentTableとChildTableのトランザクションはどうやって管理すればいい?
(同時実行制御で確認してから、実際に書き換えするまでのトランザクション管理)
4)
ChildTableの行数が増えると、ChildCodeを何かしらの手がかりに検索して
入力(表示)させる必要があると思うんだけど、FormView内にコントロールがあって、
それを選択可能?
うーむネットでも情報が少ないし疲れたよママン
0057nobodyさん
2009/09/12(土) 23:54:01ID:???それだと親と子は1:1にしかならないような
1)
置換するの意味がわからん
普通に結合するなりなんなりでChildCodeの項目も用意するだけでは?
2)
実行制御って具体的に何のこと?
DBへの排他制御なら、基本的に楽観的ロックなのでDBへのロックはなしだろ
4)
子テーブルの行数増えても親テーブルにもってるIDで見るだけじゃないのか?
お前の考えてる入力イメージがまったくわからんぞ
0058nobodyさん
2009/09/13(日) 00:13:12ID:???例えばparent=受注テーブル、child=商品テーブルみたいな感じ
parent:Childは1:n
1)
>置換するの意味がわからん
childテーブルの商品idを、商品コードに置換をするってこと。
表示時はそれでいいけど、
更新時には商品コードを商品id(childID)に置換をする必要があるでしょ?
2)
>実行制御って具体的に何のこと?
商品コードをlistBoxで選択をさせる場合、人間が商品コードを選択し、
それと対になる商品id(childID)をpostBackで受けることになると思うのけど、
その間にマスタが変更されてしまった場合、
childIDとcodeが一致しない可能性が発生しない?
3)
>DBへの排他制御なら、基本的に楽観的ロックなのでDBへのロックはなしだろ
楽観的ロックでchildTableのdateTime値から変更が無いことを確認しても
それを確認してから、実際に、parentTableを更新する間に編集されちゃうかもしれんから、
トランザクションで管理をしたくならないかなと思って。
4)
>子テーブルの行数増えても親テーブルにもってるIDで見るだけじゃないのか?
商品コードを、listBoxに入れて選択をさせることはできるかもしんないけど、
商品をたくさんの条件から検索して、それをformView上のlistBoxなり、
textBoxなりに商品コードとして入力したいこととかない?と思って。
そんでその方法がよくわからんと。
0059nobodyさん
2009/09/13(日) 00:45:56ID:???006059
2009/09/13(日) 02:44:02ID:???0061nobodyさん
2009/09/13(日) 02:59:49ID:???具体的に書けばいいのかなw
1)
textBoxに商品コードを入力させ、
その商品コードから商品テーブルの商品idを取得して、
商品idを受注テーブルに挿入することはformViewでできる?
2)
1)と似たような感じで、
商品コードをlistBoxから一覧で入力させるとき、
受注テーブルは楽観的ロックでいいけど、
商品テーブルは商品コードを入力中に、
裏で誰かが商品マスタを編集して商品コードを変更させてしまっても
楽観的ロックで排除してくれる?
3)
2)で楽観的ロックで確かめられないとしたら、
商品テーブルから商品コードと商品idが一致するのか確かめなくちゃだけど、
商品テーブルの商品コードの存在を確かめる→受注テーブルに挿入するの間に
商品コードが編集される可能性があるから、トランザクションで管理できる?
4)
textBoxに商品コードを入力させるとき
他のウィンドウや他のformから商品コードを検索して
formView上のtextBoxに入力させることはできる?
こんな感じなんだぜ。うぇーはっはっは
0062nobodyさん
2009/09/13(日) 05:09:22ID:???とりあえずFormViewの仕事とDataSourceの仕事を区別しよう
FormViewで出来るかと言われれば、全部出来る
コードレスで出来るかというなら、FormView周りにかぎれば、
条件つきでたぶん出来る(4以外)
お前が望むような動作をするDataSourceがあれば、って条件だがな
006359
2009/09/13(日) 08:56:53ID:???できる。FormView関係ない。
2), 3)
個人的にコードレスではできないと認識している。
(2.0しか知らないから、今はどうなのか知らん)
4)
できる。FormView関係ない。
寝る。途中で飽きた。
ttp://www1.axfc.net/uploader/Sc/so/36159.zip
0064nobodyさん
2009/09/13(日) 17:58:37ID:???FormView(+ObjectDataSource)は使うけど、
結局、相当に長くコードを書くのが必要なんだな。
コードみて大まかなやり方がわかったよ。ありがとう。
クエリを書くのが2割になったというので興味があったんだけど、
テーブルってほとんど他とリレーションしてるから、
結局は更新時にチェックをしなくちゃいけないよね。
そうすると何かしらのクエリの記述が必要になりそうだね。
既存のプロジェクトを調べたら、子テーブルのIDを持ってないテーブルって、
都道府県マスタとか、商品種別のマスタとか、一部のマスタぐらいしかなかった。
だから2割になるというより、最大で2割ぐらい減るのかなという印象。
これなら、無理してformView使うよりも
コントロールのポトペタのほうが、制限が少なくていいかなぁと思ったんだけど、
どうなんだろう。もちろん自分の場合の話だが。
ところで、文章から、2)と3)なんかを
FormViewで実装した経験がないように見受けられるけど、
そんなチェックはしないことが多いのかな?
整合性で問題がでるパターンが想像できると思うのだけど。
それとも、子テーブルのIDを持つようなテーブルを
更新したり、挿入したりすることがあまりないような
シンプルなサイトの開発が多いのかな?
ちょっと気になったもので。
0065nobodyさん
2009/09/13(日) 18:44:22ID:???それで親と子が1:nになるんだよな?
通常の業務で入力するような範囲で、マスタの変更チェックなんてしないとおもうが
おまえのとこはそんなに頻繁にマスタが変更されるのか?
0066nobodyさん
2009/09/13(日) 21:14:34ID:???第一に、前者と後者は関連性はないよね。
n:nでも、n:1でもチェックが必要なのは同じことだから。確認のため。
1:nの関係はよくあると思うよ
商品->商品種別、会社->都道府県、支社->社員、会社->担当、受注->明細とか
親->子の例は、
そんな確認ができるのかなという疑問に思っただけなのと、
他のテーブルの主キーを持っていないテーブルが、
マスタ関連だけだったというだけなんで、
常にマスタのチェックをしなきゃいけないということを、
言いたかったわけじゃないんだ。ごめんよ。
でも、自由入力させる場合の商品コードは、
その存在チェックと主キーへの変換は必要だよね?
入荷した商品の、在庫の引き当て数量チェックとかも。
似た動作をいろいろ見ると、いろんな確認が必要で、
他のテーブルの確認をせずに、
無条件で更新できるような入力箇所って
思うより少ないのねって思ったの。んでもって、やっぱり手書きなんだなと。
掲示板とか、ゲストブック的な、
他のテーブルを意識しなくても済む単純な入力や編集には
便利だと思うんだけど
006759
2009/09/13(日) 21:35:45ID:???>そんなチェックはしないことが多いのかな?
登録対象商品がまだ有効かどうかのチェックはする。よくする。
ただし、普通、マスタの更新(UPDATE)なんてしない。ありえない。
やるなら削除後に新規登録、または新規登録のみ。
そうすれば登録対象が急に別物にすりかわるなんてことはなくなる。
1:nの関係はもちろんよくあるが、親が子のIDを持つことはありえないと思うんだが。
支社テーブルは社員IDを全部持ってるの?各社員(子)が支社コードもってればよくない?
006865
2009/09/13(日) 22:27:45ID:???1:nの関係はよくあるが、親が子のIDもった状態でどうやって
親:子が1:nの関係を作れるんだ?
その親に対する子はその親がもってるIDの子1件だけだろ
まさか同一IDの子が複数いるとか言わないだろうな
後半に関しては、個人的意見だがIDとコードを両方持つ設計は少ないと思うぞ
データとしては入力されるコードを格納すればいいんだし
コードとID別持ちで、コードからID引いて格納するって設計がまあ特殊なんだと
在庫引当の例とかは、ビジネスロジックとしてのチェックの問題だ
ビジネスロジックをコードレスなんてもともと無理だと思うがな
それは更新の問題じゃなくて入力内容チェックの問題
FormViewだろうがなんだろうが画面を表示する機能に直接関係ない
0069nobodyさん
2009/09/14(月) 05:04:37ID:???>登録対象商品がまだ有効かどうかのチェックはする。よくする。
するよね?
するってーと、ObjectDataSourceなんかでチェックして、
だめなら、だめの返値返して、エラー表示する処理とかになるよね。
>1:nの関係はもちろんよくあるが、親が子のIDを持つことはありえないと思うんだが。
>支社テーブルは社員IDを全部持ってるの?各社員(子)が支社コードもってればよくない?
ごめん。急いで書いたので、一部、不適切な関係があるね。
というか、自分が、どうやら、親と子を逆に捉えてるのかな。
他のテーブルの主キーを持ってる方を親だと、ずっと思ってたよww
商品マスタ->商品区分マスタ、取引先->都道府県マスタ、社員マスタ->支社マスタとか。
0070nobodyさん
2009/09/14(月) 05:11:29ID:???>親:子が1:nの関係を作れるんだ?
上でも書いたけど、どうやら俺が逆に書いてるようだw許してくれ(´;ω;`)ウッ…
でも、在庫引き当て時とかのチェックは1:1でも1:nで・・も(ry
>後半に関しては、個人的意見だがIDとコードを両方持つ設計は少ないと思うぞ
どっちにしろ、コードの存在確認はしなきゃなんないでしょ?
編集されたかの楽観的ロックじゃなく、
存在しないコードを入力させない存在チェックとして。
>FormViewだろうがなんだろうが画面を表示する機能に直接関係ない
というかね
>45 名前: 23 [sage] 投稿日: 2009/09/09(水) 08:04:03 ID:???
>俺のところだと SQL 手書きが発生するのは全体の 2 割以下だな。それもこれも最新の
>ASP.NET が使えるおかげ。
から、formView+dataSourceでクエリの手書きが2割以下になると思ったのよ。
そのぐらいすごいんだと。
ほんとは、調べるとそうでもなくて、
過去の経験からは、ほとんどチェックが必要だったりして、
ObjectDataSourceでコード書かないといけないので、
自作のクラスで処理するのと、あんま差はないなと思ったということ。
で、dataSourceを利用しないで、formViewを使うメリットってなに?
という話になるとおもうんだけど、
上のサンプルみると、各コントロールのインスタンスからデータを取得してるから、
ポトペタするのと変わらないようにみえる。
フィールド値のバインドを自動的にやってくれるぐらい?
という感じがしてるんだけど、という感じ。
うーん、なんかいまいちよくわかんないな・・
007165
2009/09/14(月) 10:05:53ID:???DB更新の機能(=DataSource)の範疇でもない(入力チェックをObjectDataSourceでやるのは
俺は間違ってると思う。DataSouceのもとになってるクラスでチェックするべきだと)
で、SQLの手書きが2割以下ってのは、俺は言いすぎだとは思う
ただ、純粋にSQLを書くという作業に限ってみれば、SQL書くところすべてに
SQLDataSourceつかえば、確かに自分でSQL書くことは少ないとはおもうが
それはアクセスでクエリビルダ使ったらSQL手書きしなくていいです、ってレベルと同じ話
必要なSQL文の数が減るわけじゃなくて、それを書く作業が減るだけ
DataSource使わないFormViewのメリットなんてないと思う。というか
FromViewはDataSource前提に設計されたコントロールだと思うが
DataSourceつかうことにメリットがあるんじゃなくて、使わないことにデメリットがある
0072nobodyさん
2009/09/14(月) 19:50:49ID:???DataSourceの元になるクラスという?
こういった場合にはObjectDataSourceでSELECT、INSERTなどのクエリを生成して、
コントロールにバインドするんじゃないの?
0073nobodyさん
2009/09/14(月) 19:52:33ID:???↓
DataSourceの元になるクラスというと?
007423
2009/09/14(月) 21:41:06ID:???入力チェックは aspx.cs の仕事だと思うがなぁ。SQL 手書き 2 割以下というのは
ObjectDataSource で TableAdapter を使うパターンが 8 割を占める、という意味。
たとえ複数テーブルの更新が発生したとしても、内部的には TableAdapter を使い
回す。手書きが必要なのはバッチ処理ぐらい。まあ、プロジェクトにもよるがうちは
テーブル数と画面数が大体 200 ぐらいだな。コードマスタが 50 以上あったはず。
0075nobodyさん
2009/09/14(月) 23:51:43ID:???うちは今一切使わない方針だけど。
なんかたまにASP.NET本来の原初的な組み方をしなきゃならないって考える波がくる。
で、MS本読み直すと「あー間違ってたのかな」と思ったり。
「Javaから来たヤツは全てを自前クラスで用意しようとする。
そうする利点は認めるがASP.NETでは…」みたいな論調だし。
で、軽く組み直してみたら、やっぱりハマるんだけどw
0076nobodyさん
2009/09/15(火) 00:04:23ID:???それならDataSourceと切り離してFormViewだけのメリットって何?
って話だな?
これとは別にTableAdapterを使うのはいいけど、データのソートとか抽出とかはどうしてる?
クエリかかないならTableAdapter.Fill(DataTable)して、DataTable.Select("")してるってこと?
これだとSQLからデータ抽出して、メモリに蓄えて、そこからまたSelectして
無駄が多いような気がするんだが。
0077nobodyさん
2009/09/15(火) 02:15:05ID:???SQL書く作業がTableAdapter定義する作業になっただけ
昔のADO.NETでは、DataAdapterでのUPDATEは使えねえってのが定説だった気がするが
TableAdapterになって使いものになるようになったのかな?
0078nobodyさん
2009/09/15(火) 03:43:03ID:???複雑なことしようとすると、TableAdapter用のクエリの手書き必須
挿入時に論理削除を意味するIsDeleteをいじられたくないのでfalseで固定したいとか
サブクエリで抽出した内容を取得して挿入したいとか。
挿入したときの主キーを取得するのも手書きが必要だったような。
あと上にもあるけど動的にクエリを発行できないので
検索条件に従ってWhere句を作成するとかは無理だったはず。
かといってDataTableのSelectメソッドをWhere句の動的生成の
変わりに利用すると、いちど全部のデータを取得するので、
行数が多いとデータの取得に時間がかかる。
そのたありがLinqToSQLやEntityFrameworkで解決してると思うんだけど、
LinqToSQLは終了の方向だし、EFもなんとかしてくれって言う人が多くて、
まだ微妙なところ。
007923
2009/09/15(火) 07:39:06ID:???うちでは Excel の仕様書から TableAdapter を自動生成していて、SelectList メソッド
にソート引数も指定できるようにしてるよ。内部的には ORDER BY に変換する。
>>77
やっかいなのは、SELECT するのは VIEW だけど更新もしたいケース。そんな時は
Update メソッドの中で、個々の TableAdapter を使い回す。それで対応できなければ
SQL 手書き。
>>78
WHERE の動的作成は頻出パターンなので、TableAdapter の自動生成時に作り込んで
いる。つまり、検索条件を引数にもらう SelectList メソッドの中で、引数が null じゃ
なければ WHERE に追加している。こうすると、画面側では検索条件をバインドする
だけで済む。
0080nobodyさん
2009/09/15(火) 17:37:59ID:???>TableAdapter を自動生成していて
>WHERE の動的作成は頻出パターンなので、TableAdapter の自動生成時に作り込んで
それでSQL手書きが2割以下になるのか。それなら納得
しかし、自動生成されたSQLを使うのはどうもあまり乗り気になれん
TableAdapterにしてもDataSourceにしても、SQLは完全にラップされて
アプリ側から見えなくしてるわけだし、その方向が正しいのはわかるんだけど
アプリ側でSQLもシームレスに使いたいっていうと、LINQな方向に行くのかねぇ
でもあれもSQLがそのまま通るわけじゃないしなぁ
0081nobodyさん
2009/09/15(火) 19:25:00ID:???>TableAdapter の自動生成時に作り込んでいる。
>つまり、検索条件を引数にもらう SelectList メソッドの中で、
>引数が null じゃなければ WHERE に追加している。
これどうやるの?
TableAdapterで、条件に従ってWHEREを追加とかできたっけ?
0082nobodyさん
2009/09/15(火) 23:02:34ID:???0083nobodyさん
2009/09/15(火) 23:29:57ID:???とかじゃないだろうなw
008423
2009/09/15(火) 23:52:09ID:???Excel マクロでコード生成するんだからパターンさえ決まれば何でもできる。
Fill 系のメソッドで引数チェックして WHERE を組み立てるなんざどこでも
やってることでしょ。
0085nobodyさん
2009/09/16(水) 01:27:00ID:???そのFillなんちゃらの引数によって、クエリを作ったりできたっけ?
自分はできないと思っていたので、できるのなら教えてほしい。
環境はVS2005+SQLServer2005
0086nobodyさん
2009/09/16(水) 01:32:33ID:???環境はVS2005+SQLServer2005で、TableAdapterのFillなんちゃらのメソッドで、
引数に従ってWHEREを作成するなんて無理だと思ってた。
Fillなんちゃらがストアドを呼び出してて、
ストアド側で引数によってクエリのWHEREを組み立ててるならわかるけど、
それはクエリを書いてるから手書きクエリの削減じゃないしなぁ。
0087nobodyさん
2009/09/16(水) 06:02:19ID:???>Fill 系のメソッドで引数チェックして WHERE を組み立てるなんざどこでも
>やってることでしょ。
Fillなんちゃらって、TabelAdapterのか?
SQL指定したらメソッドの中身はウィザードで勝手に作られてるぞ
すくなくとも自分でコードは書いてないから、動的にSQL作ったりはしてない
これをいじるぐらいなら俺ならTableAdapterなんて使わん
>>86
実現させる方法をいろいろ考えたが
部分クラスか継承させたクラスでFillなんちゃらを全部自前で実装すればできそう
SelectList メソッド ってのもよくわからんし、自動生成されてるのは
TableAdapterだけじゃないのかもしれんが、そのへんは>84じゃないのでわからんw
たとえストアドで操作してても、そのストアドが自動生成されているなら
「手書き」クエリは減ってるとは言える
まあ、なんかしらの開発用フレームワークあるんじゃないかって感じだな
008823
2009/09/16(水) 07:26:21ID:???TableAdapter は Excel の仕様書からマクロで自動生成してるんだって。Fill とか
SelectList とか名前はどうでも良くて、要するに ObjectDataSource の Select
メソッドに選択できるメソッドの中で、引数をチェックして WHERE を組み立てる
ロジック込みで、コードを自動生成している。TableAdapter をウィザードで作って
いるわけではない。これを「手書き」と思うなら、まあどうぞ御自由に。
0089155
2009/09/16(水) 16:20:34ID:???すまん、どの引数なのか、ウィザードとは何のことかさっぱりわからん。
よければ質問に答えてくれないか?
>ObjectDataSource の Selectメソッドに選択できるメソッドの中で、
>引数をチェックして WHERE を組み立てるロジック込みで、コードを自動生成している。
Q1 どの引数をチェックしてWHERE文を作成してるの?
1.ObjectDataSourceのSelectメソッドの引数
2.TableAdapterのFillなんちゃらメソッドの引数
3.その他のメソッドの引数(どのメソッド?)
Q2 WHERE文を組み立ててるのはどこ?
1.ObjectDataSourceのSelectメソッド
2.TableAdapterのFillなんちゃらメソッド
3.Excelのマクロ
4.その他(どこ?)
Q3 自動生成するクエリの範囲は?
1.すべてをExcelのマクロで作成
2.WHERE文以外をExcelのマクロで作成、WHERE文のみQ2のメソッドで、Q1の引数から作成
3.すべてをQ2のメソッドで、Q1の引数から作成
4.その他(どこ?)
0090nobodyさん
2009/09/16(水) 16:21:32ID:???続き
>TableAdapter をウィザードで作っているわけではない。
Q4 TableAdapterそのものはどうやって作ってるの?
1.データセットデザイナ
2.その他(なに?)
Q5 作成したWHERE文から前のクエリとWHERE文はどこに登録してるの?
1.すべてのクエリをTableAdapterに登録
2.WHERE文から前をTableAdapterに登録、WHERE文はDataTable.Selectメソッドで登録
3.その他(どこ?)
Q6 クエリをどこに登録してるの?
1.拡張子.xsdのxmlファイルのに手書きで作成したクエリを追加
2.データセットデザイナのクエリ構成ウィザードを使って作成したクエリを登録
3.データセットデザイナのクエリ構成ウィザードからクエリビルダを使って作成したクエリを登録
4.その他(なに?)
0091nobodyさん
2009/09/16(水) 16:35:02ID:???その自動生成されてるものはTableAdapterといえるのだろうか
そもそもTableAdapterって何だって話になるんだが、MSDNによると
>TableAdapter は、DataAdapter の機能を向上させるためにデザイナで生成されるコンポーネントです
らしい。
当然TableAdapterと100%互換のあるクラスも作成可能なんだろうが
それを生成したからといってTableAdapterを自動生成っていうと誤解を招くとおもうな
ObjectDataSourceでの使用が前提なら、あえてTableAdapterと互換のあるものにする必要もないし
SQL手書き量が減ってる最大の要因はこのデータアクセス層クラスの自動生成のおかげで
けっして最新のASP.NETのおかげではないってのも誤解を招いた原因の一つだな
0092nobodyさん
2009/09/16(水) 18:30:04ID:???じゃないと話がつながらないし、
もしExcelのマクロとやらでクエリを書いてるから自動だってのなら、
これはツール(Excel)のおかげでASP.NETのおかげじゃないから
2割以下なんて結論に至るはずがない。
>45 名前: 23 [sage] 投稿日: 2009/09/09(水) 08:04:03 ID:???
>俺のところだと SQL 手書きが発生するのは全体の 2 割以下だな。それもこれも最新の
>ASP.NET が使えるおかげ。
DataSetデザイナでは、WHERE文を動的に発行することは不可能だから、
みんなどうやってるのかを聞きたいんだと思うのだが。
※DataSetで動的にWHERE文を作るのは不可能というと誤解を招くと思うが、
考えられる場合の数だけ引数の異なるFill〜メソッドを作れば可能だが、
これは半固定なのでこれは動的発行じゃないし、
ストアドプロシージャでも可能だけど、これも事実上、クエリは手書きとかわらんし、
DataTableのSelect使えばソートやフィルタリングはできるが、これもクエリの動的発行じゃない
009323
2009/09/16(水) 21:41:11ID:???Q1=2, Q2=2, Q3=1
>>90
Q4=Excel マクロ, Q5=TableAdapter の定数, Q6=Q5 と同じ
要するに、TableAdapter.cs 全体を Excel マクロで吐き出している。全部。WHERE
の動的生成もその中にある。種も仕掛けもあるよ。
>>91, 92
あーなるほど、>>45 の発言が混乱させてたのか。たしかに ASP.NET のおかげじゃ
ないね。手書き 2 割以下は ASP.NET のおかげではなく、Excel マクロのおかげ。
元レスは ASP.NET 1.1 の環境だったから、単純に FormView が 使える3.5(2.0 も)は
いいぜ、という程度のノリだった。すまんかった。
0094nobodyさん
2009/09/16(水) 22:11:35ID:???ヽ(・ω・)/ ズコー
\(.\ ノ
、ハ,,、  ̄
 ̄
でDataSourceと関係なく、FormViewのメリットってなに?
本来、ポトペタするコントロールに、フィールド名を登録するだけでバインドしてくれるところ?
0095nobodyさん
2009/09/16(水) 22:50:54ID:???FormView(DetailsViewも)のメリットは、データソースの単一レコードにバインドでき
レコードのナビゲーションを操作する機能まで取り込まれているところがメリットかと
1.1で単一レコード表示させたら、レコード移動と画面の更新を全部自分でやらんとダメだからな
双方向バインドで自動更新なんておまけみたいなもんですよw
009623
2009/09/16(水) 23:02:19ID:???それもあるが、レイアウトを自由にカスママイズできるってのと、あとは登録処理が
FormView.InsertItem(false) で OK なところとか、Update の時に元々の入力値も
引数で一緒にもらえるところとかね。使ったことないなら使ってみたら?
>>95
ナビゲーションは逆に使ってないな。GridView との連動パターンしかない。
それと、双方向バインドで自動更新は不可欠だろ! これのおかげでどんだけ楽に
なってるか。
0097nobodyさん
2009/09/16(水) 23:33:22ID:???>レイアウトを自由にカスママイズできるってのと
レイアウトの自由度はポトペタ>>>>>>>>>>>>>>>>>>>>>>>>(越えられない壁)>FormViewだろ?
なんでレイアウトの自由度がポトペタに対してFormViewのほうがメリットあるんだ?
>あとは登録処理がFormView.InsertItem(false) で OK なところとか、
そんなのFormViewじゃなくても作り方次第
>Update の時に元々の入力値も引数で一緒にもらえるところとかね。
そんなのFormViewじゃなくても作り方次第
>それと、双方向バインドで自動更新は不可欠だろ! これのおかげでどんだけ楽になってるか。
多くの人はなってないんだよ。
おまえだけがエクセルでやってるから楽なの。
FormViewの利点を述べたいがために強弁してないか?
ASP.NETでクエリを書くのが2割になったとか、
レイアウトを自由にカスタマイズできるとか、
作り方次第でどうとでもなることをFormViewのメリットだと述べたりとか、
自分がやっている方法に固執してFormViewは便利だと述べたりとか。
009995
2009/09/17(木) 01:07:19ID:???>レイアウトを自由にカスママイズできる
レイアウトのカスタマイズなんてFormView以外でもカスタマイズできる
これはFormViewのメリットでも何でもない
>ナビゲーションは逆に使ってないな。GridView との連動パターンしかない。
ナビゲーションの真意が伝わってない気がするな。FormViewでレコードを移動するって話じゃないぞ
レコードが移動されたときに新しいレコードにバインドし直すって話だ
いちど、FormViewつかわないで一覧からカレント行取得して詳細表示するコード書いてみ
このコードを自動でやってくれるのはかなり楽
データ更新は、SQL書くのなんてパターン決まってるから難しくはない
(それこそ自動生成で8割まかなえるほどに)
ただ、ビジネスロジックのチェックはそうはいかんし
単純な更新でないと使えないってのが感想だ
>>97
作り方でどうにでもなるのはその通りなんだが、問題はその作りこみが
FormViewで不要や楽に実現できるようになるかどうかだろ
レイアウトの件はまあ同意だが、FormViewにもポトペタすればある程度自由にできるぞ
登録処理は、単純な更新に限れば楽なる
UPDATEの元値は、DataSet使わないならかなり有効な機能だと思う
1.1には単一レコードを想定したバインドコントロールはないんで、
その点でFromViewにはメリットはあるから、使えるとこなら使えばいいかと
逆にデメリットは、自由度が下がるってことか
それでもある程度コードかけばカバーできる範囲だと思う
0100nobodyさん
2009/09/17(木) 05:26:24ID:???上のほうにナイスなたとえがあるけど、まさにその通りだと思ったな
FormViewは麺つゆ
ウドンやソバを作るのには便利だし美味しい
だけどいくら加工してもベースが麺つゆだから味が似てしまう(応用度が低い)し
麺つゆだから酢醤油や砂糖醤油にはならない。
ポトペタの醤油は手間はかかるがより多くの料理に利用できる。
こんなとこだろ
0101nobodyさん
2009/09/17(木) 10:42:52ID:???ありますでしょうか?repeaterの中にあってIDが固定じゃないのでべた書きすることが
出来ません。
サーバ側でならRepeater.ItemDataBound イベントで処理する。
クライアント側でならJavaScriptで走査して処理する。
0103nobodyさん
2009/09/17(木) 15:36:36ID:???俺ならサーバー側もforeachで回す。
0104nobodyさん
2009/09/17(木) 16:26:00ID:???Repeaterの中をIDでFindControl
0106nobodyさん
2009/09/17(木) 23:30:47ID:???ハードコーディングしたくない俺は大体再帰で回す。
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);
}
}
}
0107nobodyさん
2009/09/18(金) 05:33:22ID:???まあ俺なら、ページ出力時にクライアントサイドのスクリプトを動的に生成して出力しとく
チェックボックスオフにするためだけにポストバックさせたくない
今ならAjaxでやるのもありなのかもしれん。updatepanelだっけ?
その場合、Repeaterの中全部更新されるよね?
JQueryとか使うと楽ちんだわな
0110nobodyさん
2009/09/18(金) 15:09:35ID:???その場合はその項目もリセットされるわな
それがまずいかどうかは>101の判断だろう
まあ、一番楽な方法としてリセットボタン考慮する価値はあるかと
0111nobodyさん
2009/09/18(金) 15:15:51ID:???そういえばそんなのもあったな。すっかり忘れてたわ。
0112nobodyさん
2009/09/18(金) 19:03:46ID:???0113nobodyさん
2009/09/19(土) 03:13:45ID:ZjH1gzNN自分で実装してて思うんだが、こんなの俺以外に絶対に保守出来ない。
つーか俺自身でも3か月後には多分保守出来ないw
難しいシステムを無理やりWebで作るのはほんとアホとしか思えないぜ。
0114nobodyさん
2009/09/19(土) 04:39:22ID:???5行で書ける処理でもサーバー側でできるなら、そっちでやってもらってる。
>難しいシステムを無理やりWebで作るのはほんとアホとしか思えないぜ。
特に帳票とか帳票とか帳票とかな。まずデザインで死ねる。
更に、あたかも関数だらけのExcelのような動作を求められたりして死ねる。
入力項目50個超で1つ入力すると各項目を色々再計算/再描画とか言ってくるけど、
50個AutoPostback = trueな状態にするとブーブー言ってくるのは確定的に明らか。
こうなるとJavaScriptの出番になってしまい>>113みたいになって死ねる。
で、仕様変更があった時にJavaScript側で更に色々判定する必要がでてきてまた死ねる。
この経験からうちではクライアントスクリプト禁止令と、
「出来る出来ないで言えば出来ますが…は、ハッキリNoと言う」という
超基本的なことを徹底するようになった(´;ω;`)
0115nobodyさん
2009/09/19(土) 15:13:10ID:???コードビハインドで作られてるんですけど、3つのaspxが指すコードが全て同じものを指してる
んですが、これっていいんですか?まあ動けばOKという格言もありますが。
Form1.aspxとForm2.aspxとForm3.aspxが全部FormCom.aspx.csを指してます。
ちなみにFormX.aspxは3つとも微妙に違っていて、載ってるコントロールなんかも違います。
その辺はFindcontrolしてnullかどうかをちゃんとチェックしてるようなんですが。
でもまあ、通常は基底クラスに全部詰め込んで、あとは各画面に対応するクラスを継承するのが
正しい方法だと思うんですが。
0117nobodyさん
2009/09/19(土) 19:01:05ID:???0118nobodyさん
2009/09/19(土) 19:39:44ID:???単純にコード記述量を減らせる。つまり試験工数も減るし、バグも減る。いい事尽くし。
3つのパターンで画面入力させるんだけど、画面上の項目が微妙に違う。(画面上の100項目の
うち10項目ほど)無論、3パターンを1画面でまかなって、区分によって項目のVisibleを制御
するのでもいいんだけど、いっそ3画面分のaspxを用意して、裏のcsは共通にしてしまおう、
と。デザイン指定が超絶シビアなので、Visibleで出したり隠したりとかしたくなかった。
基底クラスを継承、の場合でも、例えばボタンをクリックした場合のイベントはやっぱ3画面
それぞれ必要だよね。csが1つならとことんコード量を減らせる訳で。
まあ、「コード量が少ない」と「メンテしやすい」は等価じゃないけど。
0120nobodyさん
2009/09/19(土) 20:00:26ID:???開いてる画面によってはコントロールがあったり無かったりするので、不用意に
TextBox1.Text = "ほげ〜";
とか書けなくなる。全画面共通で必ず存在しているコントロールじゃない限り、一々FindControl
でコントロールを探さなきゃならない。
デメリットってこれぐらいだと思うンすけど。
0121nobodyさん
2009/09/19(土) 21:09:11ID:???コボラ相手にしてる気分だ。
いいと思うならやればいいんじゃないンすか?
0122nobodyさん
2009/09/19(土) 21:16:18ID:???ページが最終的にコンパイルされる仕組みを理解していれば、特に何の問題も無いわけだが?
理解出来ないなら黙ってた方が無知を晒さずに済むと思われ。
0123nobodyさん
2009/09/19(土) 21:22:24ID:???コントロール名を変更しても反映されなかったりとか
不必要なイベントハンドラメソッドが増えるとか
インテリセンスが意味をなさなくなってバグの温床になるとか
0124nobodyさん
2009/09/19(土) 21:32:36ID:???ってだけの話で、やってはいけない。という理由にはならない。
でもまあ、個人的には動けば正義だと思ってる
ちなみに「不必要なイベントハンドラメソッドが増えるとか」これだけ意味不明。
0125nobodyさん
2009/09/19(土) 21:45:24ID:???ボタンの数だけイベントハンドラメソッドが増えるでしょうが。
各ページに5個のボタンがあって、それぞれ別動作してたら15個のメソッドが存在することになる。
>でもまあ、個人的には動けば正義だと思ってる
保守性が下がるからやってはいけない
他人が見てもわけわからないことになるからやってはいけない
重複させるとインスタンス時に余計なサーバ資源を消費するからやってはいけない。
インテリセンスの動作が無駄になりバグの温床になるからやってはいけない。
エラー発生時にハイライトされた行が、どのページのエラーなのか一別しか分かりにくいからやってはいけない。
ページ初期化時に表示ページとは関係無い初期化にリソースが消費されるのでやってはいけない。
>それは、そういうデメリットもあるから、メリット・デメリットを天秤にかけて考えてね。
>ってだけの話で、やってはいけない。という理由にはならない。
デメリットのほうが圧倒的に大きいから「やってはいけない」ということでしょ。
単に自分がやってることを否定されたくないから、難癖つけて認めさせたいようにしか見えない。
0126nobodyさん
2009/09/19(土) 21:46:50ID:???↓
3枚の各ページに5個のボタンがあって、それぞれ別動作してたら15個のメソッドが存在することになる。
0127nobodyさん
2009/09/19(土) 21:55:05ID:???普通、そういうケースではさすがにこんなヒネたコードは書かんだろ常考。
各画面にボタンが5個あって、ページに関係なく処理が同じ(前画面に戻るとか)
↓
15個のメソッドが必要なところを5個で済む
ていう事を言いたいんジャマイカ?
0128121
2009/09/19(土) 22:11:27ID:???アホかw本来別にすべきものをまとめて、
何がコンパイル時には一緒になるからだ。
App_Code以下が単一dllになるからって、
1クラスに全部まとめて書くか?書かないだろ?
なぜだ?責務が異なるものは、分けるのが当たり前だからだろ?
ある画面専用の処理が追加になったらどうするんだ?
他の画面からしたら、全く関係のない処理があるクラスを実装してることになるぞ。
リファクタリングを一回でもやったことがあれば、
それがどんなにアホなことか分かるよな。
月日が経って、そのクラスを実装するaspxが増えたらどうなる?
その度にif文やFindControl判定が増えていくのか?
なんとも素晴らしい設計だな。
仕様変更時には影響範囲が特定できず、
ある画面だけの修正なのに、処理が重なっているために
全画面の動作検証を行わねばならなくなったりしないか?
つか、高凝集密結合が良くないなんて、学生でも分かるだろ?
で、業務上、そういうことにはならないように気を使ってますとでも言うのなら、
先に述べたように、お好きにどうぞってこった。
0129nobodyさん
2009/09/19(土) 22:26:02ID:???そういう意味では「注意深く作るなら、別に問題はない」が回答。
ただし「将来的なメンテとか拡張とか修正とか考えると、3画面分まとめて1ソースに
すると身動き取れなくなったりしない?止めとけば?」ってのが周りのアドバイス。
0130nobodyさん
2009/09/19(土) 23:06:31ID:???>ちなみにFormX.aspxは3つとも微妙に違っていて、載ってるコントロールなんかも違います。
って言ってるぞ。
0131nobodyさん
2009/09/20(日) 06:26:46ID:???不備を指摘されると逆ギレ
誤りを認めたくないから強弁するってガキの流行なんか?
0133nobodyさん
2009/09/20(日) 14:03:21ID:???って馬鹿の粘着キモイ
>129 で出てる回答が全て。あとは自分で判断しろってことで終了。
0134nobodyさん
2009/09/20(日) 15:36:43ID:???技術的に問題があるかどうかなんて聞いてないよ
本人は技術的には問題ないことを理解した上で、メリットデメリットの話をしてるんだから。
技術的に問題無いことを理解している発言は>>122でしてる。(技術的に)何の問題もないと。
メリットとデメリットの話をしようとしているのは>>120を見れば分かる。デメリットうんたらかんたらと。
0135nobodyさん
2009/09/20(日) 16:07:08ID:???0136nobodyさん
2009/09/20(日) 16:48:16ID:???その3画面での共用する方法はある意味、仕組みを熟知して使い倒してますなw
ネイティブアプリでの共有ライブラリ、DLLの様ように。
禁止事項ではないから、開発&保守が効率的であればそれも選択肢としてアリだと思う。
0137nobodyさん
2009/09/20(日) 17:05:18ID:???よってはそういう手もあるのかと知ってちょっと感心した。
ビハインドコード共有!そういうのもあるのか
みたいなw
機能的に全く完全に差異がないけど、デザイン的にどうしようもない(ある仕入先と別の
仕入先で全く異なるデザインの画面)ケースなんかでは有効かも。
0138nobodyさん
2009/09/20(日) 17:09:01ID:???4:主観で決め付ける
>ネイティブアプリでの共有ライブラリ、DLLの様ように。
6:一見関係ありそうで関係ない話を始める
>禁止事項ではないから、開発&保守が効率的であればそれも選択肢としてアリだと思う。
1:事実に対して仮定を持ち出す
10:ありえない解決策を図る
12:決着した話を経緯を無視して蒸し返す
というか自演乙
0139nobodyさん
2009/09/20(日) 17:54:42ID:???ロジックを記述するパーシャルクラス(ページなんちゃら.aspx.cs)と、
コントロールなどのメンバ変数を宣言する.aspxが自動生成するパーシャルクラスの
二つが作られるわけでしょ?
後者はVSがページ毎に自動生成するからaspxと1対1になってる
コードビハインドは、そのメンバ変数を参照してる(からインテリセンスで補完してくれる)わけで
いくらpageのインスタンスを所有していて、そこからFindControlで操作したいコントロールを見つけられるとしても
メンバ変数として宣言されてるコントロールを一切使用しないなんて、
asp.net以前にオブジェクト指向の設計として間違ってるような気がするのは俺だけ?
クラスで例えれば、
メソッド内では決して参照しないまったく関係無いコントロールのインスタンスをメンバ変数として保持し、
メソッド内で操作したいコントロールのインスタンスは、すべてメソッドの引数として得て操作してるような感じ。
じゃあ、メンバ変数として所持してるインスタンスってなに?
その都度無駄にコントロールのインスタンスを生成するの?ってな感じになると思うんだ。
技術的に問題ないとか、問題なければやってもいいだろとか別次元の話だと思うんだけど。
動けば害はないし、禁止されてないからということで、1行ごとにThread.Sleepをしかけまくるみたいな。
0140nobodyさん
2009/09/20(日) 17:58:03ID:???0141139
2009/09/20(日) 18:05:49ID:???というかで始めたのがまずかったか
0142nobodyさん
2009/09/20(日) 18:13:57ID:???技術的な見地
思想的な見地
メンテや修正といった見地
で分けて議論?してくれ。じゃないと収束せんだろ。
>技術的に問題ないとか、問題なければやってもいいだろとか別次元の話だと思うんだけど。
じゃあ技術的には問題なし、思想的に不可。でいいじゃん。
0143nobodyさん
2009/09/20(日) 18:38:22ID:???いや、技術的に問題ないわけないじゃんね。
それ以前の話。
無駄なあえてわざと無駄な変数宣言をしてインスタンスを生成することは
動くけど技術以前の問題だろ?
1行ごとにSleepかませたり、ところどころ無駄な変数を宣言してインスタンスを生成したり
技術とか思想以前の問題
0144nobodyさん
2009/09/20(日) 19:12:59ID:???1行ごとにsleepかけようが、ASP.NET的には全然OK。
でもそういう実装が実際に許されるか否かは、そのアプリの目的に依存するんで可否を決
めようがない。
InProcで動いてる時にSessionに1GBのobjectを突っ込むのも、ASP.NET的には問題なし。
でもほんとにそんなことをしていいかどうかは求められてる仕様や環境次第。
技術以前の問題だっつーなら、技術以前の問題と技術的な問題に切り分けろよ。
0145nobodyさん
2009/09/20(日) 19:58:30ID:???>どうしても「俺が認めないものは認められない」つー馬鹿がいるな。
お前のことか?
>1行ごとにsleepかけようが、ASP.NET的には全然OK。
>InProcで動いてる時にSessionに1GBのobjectを突っ込むのも、ASP.NET的には問題なし。
アホかよw
>そのアプリの目的に依存するんで可否を決めようがない。
>ほんとにそんなことをしていいかどうかは求められてる仕様や環境次第。
ほとんど否だろ?もしくはしないほうが望ましいとされるだろうな。
自分に有利な条件を想像すんなよ。
「認められる仕様があるかもしれない」って都合の良い言い方だよな。
90-10ぐらいでほとんど認められない状況を、可否は判断できないとして
強引に50-50まで戻せるんだからw
なんで、そこまでしてむりくり正当化して自分の無知を認めたがらないのかね
0147nobodyさん
2009/09/20(日) 20:15:01ID:???0148nobodyさん
2009/09/20(日) 20:39:04ID:???自演の中身は文章で判断するしかない
偉い人にはそれがわからんのですよ
0149nobodyさん
2009/09/20(日) 21:09:34ID:???0152nobodyさん
2009/09/21(月) 00:39:40ID:???0154nobodyさん
2009/09/21(月) 14:04:37ID:???褒められた作りじゃないにしても、いまの所これが原因で動作がおかしくなったとかは無い。
0156nobodyさん
2009/09/21(月) 15:20:59ID:???褒められた作りじゃないが、有りといえば有り。
↓
いや無しだろ。動く動かない以前の問題だ
↓
最初に戻る
0157nobodyさん
2009/09/21(月) 16:47:03ID:???ものすごく不便に感じていたがReflection使えばよかったんだな。
http://weblogs.asp.net/ryanw/archive/2006/03/30/441529.aspx
ちょっと無理矢理な気もするが、自前で全部用意するよりはかなり楽になりそうだ。
今まで「TableAdapterつかえねー」の一念だけで、ろくに調べもしなかった自分に反省。
個人的にはこれで使わない理由はなくなった。ちょっと試してみよう。
0158nobodyさん
2009/09/21(月) 18:47:39ID:???>>157
TransactionScope使えばかけられるんじゃないの?
http://blogs.msdn.com/nakama/archive/2008/10/23/transactionscope.aspx
リフレクションは便利だけど、遅いしコンパイルのチェックが入らないから美しくない
最低減で使う分にはいいけど、メソッドの呼出とかで使いまくってる奴をみると
C#という静的言語を一体なんだと思っているのかと小一時間チクビ舐めてやる
0159nobodyさん
2009/09/21(月) 18:51:28ID:???俺も無しに一票だな
今、テレビ見てたんだが、「第二音声では英語で実況しています」というテロップが日本語で入っていた
つまり、こういうことだ
日本語でアナウンスしてしまったから、英語で聞きたい人に伝わらないけど、
いちおう第二音声で実況しているから有り
↓
いや無しだろ。英語で実況しているしていない以前の問題だ。
↓
最初に戻る←いや戻らない戻らないwww 英語でテロップだせよww
0160157
2009/09/21(月) 18:52:15ID:???TransactionScopeは、むかーしになんかの理由で
使えないなーって判断した記憶があるが忘れたな。
もう一回調べてみる。ありがとう。
0161nobodyさん
2009/09/21(月) 19:04:48ID:???使えると便利なんだけどね。TeansactionScope。
結局なんだかんだいって、SQLサーバにすべてクエリ登録して、
アプリ側ではストアドだけ呼び出すのが正しいのかなという気がするよ。
0162nobodyさん
2009/09/21(月) 22:11:19ID:???0163nobodyさん
2009/09/22(火) 00:49:26ID:???馬鹿っぷりを曝け出してる様をみてニヤニアしてんの?
つーわけで
不 要 な イ ン ス タ ン ス っ て 何 ?
TextBox1,2,3があるページと、TextBox1,3,4があるページの両方が同じ分離コードをさしてる
として、片方のページを表示してるとTextBox1,2,3,4のインスタンスが出来るとでも思ってる
の?馬鹿なの?死ぬの?
0165nobodyさん
2009/09/22(火) 12:44:19ID:???> メンバ変数として宣言されてるコントロールを一切使用しないなんて、
> asp.net以前にオブジェクト指向の設計として間違ってるような気がするのは俺だけ?
逆だろ。
自動生成されたメンバ変数を使いつつ、コードを共有したいから、
共通の基底クラスを継承するのではなく、コードビハインドを共有するんだろ。
共通の基底クラスを継承する場合は、
基底クラスでは全てのコントロールをFindControlしなければならないが、
コードビハインドの共有なら、共通のコントロールに限り、メンバ変数が使える。
0166nobodyさん
2009/09/22(火) 13:11:19ID:???彼の主張する不要なインスタンスについては>>139に書いてある内容だと思う
>ロジックを記述するパーシャルクラス(ページなんちゃら.aspx.cs)と、
>コントロールなどのメンバ変数を宣言する.aspxが自動生成するパーシャルクラスの
>二つが作られるわけでしょ?
バージョンもWEBサイトかWEBアプリかも特定せずにメンバ変数を宣言するパーシャルクラスが自動生成されてるとか
パーシャルクラス(宣言のコード)なのにクラスが二つ作成されるとか
>コードビハインドは、そのメンバ変数を参照してる(からインテリセンスで補完してくれる)わけで
コードビハインドだと勝手にメンバ変数参照してるとか
メンバ変数参照してるからインテリセンスがきくとか
>メソッド内では決して参照しないまったく関係無いコントロールのインスタンスをメンバ変数として保持し、
必ず存在しているコントロールじゃない限り、一々FindControl(>120)って発言を無視してるとか
もうね、>>164のアンカーは自分に向けとけとしか
0167nobodyさん
2009/09/22(火) 14:17:50ID:???コード内でDataColumnsを定義するのがメンドクセーって理由だけで型付DataSetを使うと、使わない
メソッドが腐るほど自動生成されるよね。それって無駄だから型付DataSetは使用禁止!ってル
ール?w
0168nobodyさん
2009/09/22(火) 15:44:08ID:???0169nobodyさん
2009/09/22(火) 16:40:24ID:???エスパー解釈するから余計面倒なことになってるな。
0170nobodyさん
2009/09/22(火) 17:42:14ID:???ASP.NETが生成するhtmlが30MB位になって、クライアントPCにダウンロード完了してから
実際にブラウザに表示されるまで30分ほどかかるんだけど、なんか上手い改善策ある?
サバーサイドの処理が重い訳じゃないので、どうしていいか分からなくて。
0171nobodyさん
2009/09/22(火) 17:59:03ID:???画像含まずにhtmlだけで30MB?
いったいどんなシステムなんだよ。
ページ分けるしかないでしょ
必要な時に、必要な分だけしぼりこんで表示。
0172nobodyさん
2009/09/22(火) 19:32:16ID:???>自動生成されたメンバ変数を使いつつ、コードを共有したいから、
>共通の基底クラスを継承するのではなく、コードビハインドを共有するんだろ。
逆だと思うのはコードの共有を目的とする観点からみてるから「逆」ってだけでしょ?
ページごとに、そのページが所有するコントロールの変数を
メンバ変数としてVisualStudioが宣言してるんだから、
VSつまりマイクロソフト的には1ページ1コードビハインド記述ファイルを前提ってことじゃないのってこと。
>パーシャルクラス(宣言のコード)なのにクラスが二つ作成されるとか
クラスが二つなんて書いてないじゃん。作文?
>必ず存在しているコントロールじゃない限り、一々FindControl(>120)って発言を無視してるとか
だから必ず存在している場合は、メンバ変数として宣言されてるからそれを参照できるわけでしょ?
ない場合があるからFindControlしてるわけで。
>メンバ変数参照してるからインテリセンスがきくとか
インテリセンスが聞くのは、コントロールをメンバ変数に宣言してるパーシャルクラスを
VSが自動生成してるからじゃないの?違うなら俺の間違いだな。すまなかった。
>もうね、>>164のアンカーは自分に向けとけとしか
>>164は俺じゃないよ
0173nobodyさん
2009/09/22(火) 19:35:00ID:???画像含まず、TextBoxとDropDownListとLabelとCheckBoxだけで構成されてるのに、htmlソース
で30MBとかいきます。ページングにすると更新のタイミングとかウザイんですよねえ。
俺オワタ
0174nobodyさん
2009/09/22(火) 19:41:58ID:???>>メソッド内では決して参照しないまったく関係無いコントロールのインスタンスをメンバ変数として保持し、
>必ず存在しているコントロールじゃない限り、一々FindControl(>120)って発言を無視してるとか
それから例えとして書いてるのに、それを本筋に当てはめて見当違いのレスするのは止めようよ。
「クラスで例えれば〜という感じになると思うんだ。」って書いてるじゃん。
そういうように書いてるぐらい「アホ」なやり方をしているっていうわけで、
そういうような仕組みでASP.NETが動いてるなんてかいちゃいないだろ?
>TextBox1,2,3があるページと、TextBox1,3,4があるページの両方が同じ分離コードをさしてる
>として、片方のページを表示してるとTextBox1,2,3,4のインスタンスが出来るとでも思ってる
>の?馬鹿なの?死ぬの?
これも同じ。だれも作られるなんて言ってないだろ?
メンバ変数で宣言されてるのにそれを参照しないコードの書き方がおかしいんじゃないのっていってんの。
つまり、おまえの批判はこういう的外れなことをいってるわけ。
酒井法子って覚醒剤やってたんだな・・・
これで逮捕されてもう芸能界じゃやっていけないだろ
↓
ほんとだな万引きで捕まったぐらい恥ずかしいよな
↓
お前バカじゃねぇ?酒井法子は万引きで捕まったんじゃねーよ。
ひょっとして万引きで捕まったとおもってんの?バカなの?死ぬの?
こんな感じ
0175nobodyさん
2009/09/22(火) 19:59:09ID:???0176nobodyさん
2009/09/22(火) 20:18:47ID:???クラス2個作られるのが俺の作文だっていうなら
>ロジックを記述するパーシャルクラス(ページなんちゃら.aspx.cs)と、
>コントロールなどのメンバ変数を宣言する.aspxが自動生成するパーシャルクラスの
>二つが作られるわけでしょ?
を解説してくれ
そして、
>必要ないインスタンスが生成されるのを「有り」とする人が多いのに驚いた
の必要ないインスタンスとは何か説明してくれ
0178nobodyさん
2009/09/22(火) 22:49:18ID:???1000とか3000とか5000とかそんな桁じゃないんで違う人です。1桁違う。
5万コントロールとか10万コントロールとかそういう数なんで。
0179nobodyさん
2009/09/22(火) 23:41:39ID:???0180nobodyさん
2009/09/23(水) 00:08:00ID:???何をやってるのか、ぜひ教えてくれ。 面白そうだ。
30分かけて表示されたページは、まともに動くの?
あと、 >>172 >>176 メールでやれ。
0181nobodyさん
2009/09/23(水) 00:42:51ID:???幾つかのProjを見てきたけど、使ってるところは多い。別に禁断の技とか行儀の悪い実装
と言うことも無く、現場によっては普通に使われるテクニック。まあ、有効な局面が限られる
と思うが。
ちなみに「VisualStudio様がデフォで作ってるんだからそれが前提」とか書いてるけど、VS
が吐き出した自動コードをあとから手で書き換えるとか、半ば当然だと思うが。VS様はそ
んなに柔軟でもないし、賢くもない。
0184nobodyさん
2009/09/23(水) 04:15:41ID:???JQueryのリッチなUIも交えて、開発したいのですが、以下のSilverLightの例のように、
HTML要素クリック時、あるいは、JavaScriptのメソッドからCSファイルのC#の
メソッドを実行するようなことはできないのでしょうか?
http://www.atmarkit.co.jp/fdotnet/dotnettips/891slcallfromjs/slcallfromjs.html
当方、かなり初心者なので、無茶苦茶な質問をしているかもしれません。
0185nobodyさん
2009/09/23(水) 05:33:46ID:???>を解説してくれ
クラスは一個
その一つのクラスのパーシャルクラスが2個
>の必要ないインスタンスとは何か説明してくれ
必要のないインスタンスは必要のないインスタンスだ
それ以上でも以下でもない
動作するからといって、1行ごとにSleep噛ますのは意味ないよな?
それと同じように、1行ごとに必要ないインスタンスを生成しても意味ないっていってんの。
換言すれば、「動作するからといって1行ごとにSleepいれるのをアリとする人が多いのに驚いた」でもいいぞ?
ただし技術的に問題ないって主張してる人は、Sleep噛ましても動けばokらしいよ
Sleep噛ましても問題ないぐらいだから、1行ごとに不必要なインスタンス生成するぐらい余裕で許容すると思うけどww
>>144に書いてある。
0186nobodyさん
2009/09/23(水) 05:53:29ID:???HTML要素がOnClickイベントを持っていて、フックしてClientScriptを実行できるなら
一番簡単なのは、ポストバックイベントを発生させることのできるコントロールを設置して
それをJavaScriptで実行させるのが一番簡単。
例えばボタン、ハイパーリンクとかをObject.Click();すればいい。
必要ならスタイルシートで背景と同化させるとか、見えなくさせたり。
まじめにやるならこのへんで
http://msdn.microsoft.com/ja-jp/library/system.web.ui.clientscriptmanager.getpostbackeventreference.aspx
0188nobodyさん
2009/09/23(水) 15:01:49ID:???0190nobodyさん
2009/09/23(水) 16:57:49ID:???おお!!
まさに知りたかったことです。ありがとうございます。
ModalPopupExtenderのときもダミーコントロールを使用した経験がありますが、
結構ダミーとして使うことってあるんですね!!
0191nobodyさん
2009/09/24(木) 14:23:39ID:???対応出来ますか?
以前の案件ではIE/FF/Opera/Safari/Chrome全部で動いてたはずなのに、今作って確認したら
IEでしか動かない('A`
0192nobodyさん
2009/09/24(木) 14:39:55ID:???データベースならDataSet、固定のデータならArrayを持ち回りすれば更新関係が楽になるんじゃない?
DataSet、ArrayはSerializableだったはずだったから、これをセッションで持ってて
これを元にページングして表示し編集させる。
最後に更新ボタンがあって、これをクリックすると、それまで編集されたデータを一斉に更新するとか。
つまりページングや編集は、セッションで持ってるデータに対して行って、
最後に更新ボタンを押した瞬間に、編集された行のみ必要なら整合性チェックして保存していくような感じで。
0194nobodyさん
2009/09/25(金) 11:15:43ID:???数が16万超とかマジでどんだけーw
12時間経ってもまだ入力出来る状態にならないw
>>192
ページングも案の一つだったんですが、グーグルクルムが思った以上に軽いんで、もしかす
ると「IEで重いようならクルム使ってね」で逃げるかも。
0195nobodyさん
2009/09/25(金) 12:17:35ID:???どうしても大量のデータ一覧表示しつつ、ぽこぽこ書き換えたいなら、
1レコード毎の書き換えが可能ならば、表示はテキストのみにして、行のクリックかなにかで入力できる形にjavascriptで書き換えて、入力完了したら
行ごとにajaxかなんかで書き換えするようにするかなぁ。
0197nobodyさん
2009/09/25(金) 19:58:58ID:???IEは</table>が来るまで描画しないと思うので、
全体を一つのtableで囲むのを止めたらどうだろう
そしたら送られてくるhtmlごとに上から順番に描画してくれると思う。
ASPのほうでも、その都度、ブラウザに送信するとかの設定も必要だったはず。
0198nobodyさん
2009/09/25(金) 20:31:25ID:???一番外側に大きなTABLEタグがあって、それはもう削除し様が無いのです('A`
ところで、この巨大なGRID形式の入力ページを、最初は市販のコンポーネントを買って実現し
ようか迷ってたんです。Grea○CityのSPR○AD .NET3J
Repeaterでひたすら自分でクルクル輪姦してhtmlを生成するのとどっちがよかったんかなぁ。
初めて使うコンポーネンツで躊躇したのと、軽量シンプルなhtmlを吐き出すのはrepeater使用
時だろうという推測で結局コンポーネントは使わなかったんですが、実は使ってた方がレスポ
ンス向上してたのかなぁ。こればっかりは今でも分かりません。
0199nobodyさん
2009/09/25(金) 20:44:18ID:???今は自前でResponse.Writeなりしてるってこと?
想像だけど、Repeaterのほうが遅いと思う。
何万件とかなら、どんなコンポーネントを使っても快適とかはないと思うよ。
数が変化するなら、アプリで作っても通信だけで相当な時間がかかると思うし。
こうなったら、エクセルに出力させて編集させて、
今度はCSVファイルをアップロードして登録とかにしたら?
0201nobodyさん
2009/09/26(土) 15:17:01ID:???まだ大量のコントロール使ったときの話してるのか?
ところで、asp.net のワーカープロセス(aspnet_wp.exe)の更新がきてるが
修正内容がまだわからんな。
しばらくしたら KnowledgeBase に載るとは思うが。
http://support.microsoft.com/kb/9674165
0203nobodyさん
2009/09/26(土) 20:15:29ID:???おいらはまだ勉強中なので、ドメインモデルが何かすらきちんと説明できませんが。
↓ASP.NETでやってる人もいますよ
ドメインモデル VS トランザクションスクリプト
http://pc11.2ch.net/test/read.cgi/php/1241341332/42
0204nobodyさん
2009/09/26(土) 23:49:54ID:???WebServiceありのサーバサイドありのJavaScriptでドメインモデルってやってられねーって感じ。
更にAJAXなんて入ってきたら設計で死ねるw。
VirtualBoxのソースを読んでても思うけど「管理大変そう」w。
0205nobodyさん
2009/09/28(月) 04:18:26ID:???ある子ページでのみ必要なcss, jsがあるのですが、
マスターページ自体をいじることなくインポート出来ないでしょうか。
マスターページのheadタグ内にcontentPlaceHolderを置くことで、
子ページからhead要素にアクセスすることは出来ましたが、
これだとビルドの度に警告が表示されて鬱陶しく感じます。
0206nobodyさん
2009/09/28(月) 08:03:54ID:???0207nobodyさん
2009/09/28(月) 09:14:36ID:???CやC++の仕事の時は警告が1件でもあったらうるさく言われてたけど、C#は基本は警告無視。
0208nobodyさん
2009/09/28(月) 13:07:10ID:???ClientScriptBlockほげほげとかいうやつ
0209nobodyさん
2009/09/28(月) 17:14:16ID:???>ビルドの度に警告が表示されて
普通にVS2008でマスターページ追加すると<head>の中に初めから
ContentPlaceHolder設置されてるんだが、どんな警告がでるんだ?
0210205
2009/09/28(月) 18:58:14ID:Nc4wliQpContentPlaceHolderは不明な要素〜みたいな警告です。
あり得ないタグを使った時と同じ内容だったと記憶してます。
家では環境構築してないので…すみません。
警告は無視する方向で行きます。
ありがとうございます。
0211nobodyさん
2009/09/28(月) 19:18:41ID:???link.Href = "StyleSheet.css";
link.Attributes.Add("rel", "stylesheet");
link.Attributes.Add("type", "text/css");
Master.Page.Header.Controls.Add(link);
0212nobodyさん
2009/09/28(月) 19:41:37ID:???http://msdn.microsoft.com/ja-jp/library/system.web.ui.clientscriptmanager.registerclientscriptblock.aspx
マスターページを適用した一部のページだけなんだから、
その一部のページのコードビハインドファイルに記述すればいいじゃない?
0213nobodyさん
2009/09/29(火) 22:38:09ID:???ポストバックしないで実装する方法はありますでしょうか?
0214nobodyさん
2009/09/29(火) 22:47:27ID:???ListBoxではなく、DropDownListの間違いです。すみません。
0215nobodyさん
2009/09/29(火) 23:22:25ID:???漏れはフルECMAscriptで実装しました。
MS的にはポストバックして欲しいみたいなのでオススメしない。
0216nobodyさん
2009/09/29(火) 23:34:57ID:???ViewStateって何のViewStateなのかな。
HiddenFieldに格納した情報を、DropDownListのIndexをキーにClientScriptで取得して
Labelに表示すればいいような気がするけど。
0217215
2009/09/30(水) 00:15:29ID:???Hiddenに書くのも癪だったので全部JSのArrayに定義して、ClientScriptに登録した。
0218nobodyさん
2009/09/30(水) 14:20:16ID:???ASP.NETで統合Windows認証をすればActiveDirectoryに参加している
クライアントのみ受付可能ですか?
0219nobodyさん
2009/09/30(水) 19:48:28ID:???やりたかったのは、DropDownListの選択値と一対一に対応する文字列をポストバックしないで
クライアントサイドで表示させたかったのですが、
とりあえず今日調べたところ、ViewStateを使うまでも無くDataTextFieldとDataValueFieldを使って
Labelの表示を変更することができました。
(DataValueFieldが一意の値しか認めないというバグを知らず、かなり悩みましたが・・・)
それでも、相変わらずポストバックは必要な状態で止まってます。
ClientScriptで取得して表示できるとの事ですが、具体的な実装方法を示したサイトなどご存知でしたら
教えていただけますでしょうか?
0220nobodyさん
2009/09/30(水) 20:41:22ID:???<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>
0221nobodyさん
2009/09/30(水) 20:42:05ID:???{
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);
}
使っちゃいけないのを使ったり、汚いコードはご愛敬で。
0222nobodyさん
2009/09/30(水) 21:22:20ID:???WindowsFormではSortプロパティがあるのですが、ASP.NETのListBoxにはありません。
一旦全部配列に抜き出して、並び替えた後に順番に追加していくしかないのでしょうか?
スマートな方法をご存知の方、よろしくお願いします。
0223nobodyさん
2009/09/30(水) 21:46:58ID:???ASP.NETは追加とかソートはポストバックしないとできないから、
コントロールにソートの項目がないのかもしれないね
0224215
2009/10/01(木) 01:12:00ID:???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 で適当に書いてるから間違えてたらゴメン。
0225nobodyさん
2009/10/01(木) 01:41:28ID:???どうしてもポストバックさせちゃダメなのか?
クライアント側のスクリプトすらすら書けるレベルないと、実装例みても
理解できないんじゃないかな
とりあえずUpdatePanelつかうと幸せになれるかもしれないぞ
0226nobodyさん
2009/10/01(木) 11:19:54ID:???接続できるものはありますか?
例えばJavaのJDBCはJDBCドライバだけあれば接続できるので
そのようなものがあればありがたいのですが・・・
0227nobodyさん
2009/10/01(木) 14:54:33ID:???パフォーマンスがいいかわからないけど
たいていのDBでODBC接続はできる。
oracleもたぶんodbcでつながるとおもうよ
ドライバも標準ではいっていたような
0228nobodyさん
2009/10/01(木) 15:03:06ID:???(一部のExtenderコントロールを除いて)
なんで?
0229nobodyさん
2009/10/01(木) 15:23:48ID:???たしか標準のオラクルODBCドライバはオラクルクライアントが必要
JDBC以外でオラクルクライアントなしでつながる物はしらない
0230nobodyさん
2009/10/01(木) 16:18:31ID:???0232227
2009/10/01(木) 18:17:30ID:???ODBCはOpen DataBase Connectivity の略だし、共通の規格だから動くんじゃないの。
オラクルの商用製品ソフトウェアが必要なのは、オラクルのネイティブな接続では。
ODBCは準拠してる製品なら、どのDBでも接続できると思ったよ。
接続できないとOpenじゃないし。下のぐぐった結果みてもできそう。
http://e-words.jp/w/ODBC.html
ODBC
フルスペル : Open DataBase Connectivity
ODBCとは、Microsoft社によって提唱された、データベースにアクセスするため
のソフトウェアの標準仕様。各データベースの違いはODBCドライバによって吸
収されるため、ユーザはODBCに定められた手順に従ってプログラムを書けば、
接続先のデータベースがどのようなデータベース管理システムに管理されている
か意識することなくアクセスできる。
0233nobodyさん
2009/10/01(木) 18:20:25ID:???やっぱりオラクルクライアントが必要だと思う。
0234227
2009/10/01(木) 18:20:27ID:???http://www.amy.hi-ho.ne.jp/jbaba/messages/1553.html
Oracleのサイトから落とせるODBCドライバでいけるそうな。
標準のODBCドライバとどう違うかは不明。
0235nobodyさん
2009/10/01(木) 19:09:47ID:???ドライバがDBと通信する方法を既定しているものではない
ODBCドライバが存在すれば、どんなDBでもODBC経由でアプリから接続できるってこと
0236nobodyさん
2009/10/01(木) 19:28:55ID:???OracleはDBそのものがODBC準拠だからODBCドライバがあればいけるってこと?
それともOracleをODBCに準拠させるためにOracleが出してるODBCドライバが必要で、
さらにアプリ側にODBCと通信するためのドライバが必要ってこと?
0237nobodyさん
2009/10/01(木) 19:37:43ID:???認識間違ってますかね?
0238nobodyさん
2009/10/01(木) 20:27:54ID:???オラクルが直接ODBC準拠じゃない
オラクルをODBCで操作するためには、オラクル用のODBCドライバが必要
オラクル製でもマイクロソフト製でも基本的にはアプリからの違いはない
ODBCと通信するんじゃない。(ドライバと)ODBCで通信するんだ
ドライバとアプリはODBCで通信する。ドライバとDBはDBごとのネイティブで通信する
オラクル用のODBCドライバなら、ドライバとDBとのネイティブ通信にオラクルクライアントが必要
これ以上はDB関係の板行って聞け
0239nobodyさん
2009/10/02(金) 20:02:27ID:???つまり
何かのテクノロジ-->>(テクノロジとODBCが通信するためのドライバ)-->>(ODBC規格)-->>(オラクルにODBC接続を提供するドライバ)-->>オラクル
ってこと?
0240nobodyさん
2009/10/02(金) 20:52:19ID:???ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=40622&forum=7
のようなやり方で実現はできるのですが、Excelファイルの保存形式が、
純粋なExcelブック形式ではなく、拡張子こそXLSですが、中身はHTML形式?
みたいな保存のされかたです。
純粋なExcelブック形式のファイルとして出力するにはどうすればよいでしょうか?
ご教示願います。
0241nobodyさん
2009/10/02(金) 20:58:43ID:???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版
http://msdn.microsoft.com/ja-jp/library/77d8yct7.aspx
0242nobodyさん
2009/10/02(金) 21:21:46ID:???0243nobodyさん
2009/10/02(金) 22:38:40ID:???0244nobodyさん
2009/10/02(金) 22:57:37ID:???いまさらODBC使う意味がないってのには同意するが、>238は別に間違ってもいないだろう
そして、.NETのオラクル用データプロパイダ使ってもオラクルクライアントのインストールは必要だぞ
0245nobodyさん
2009/10/03(土) 13:56:21ID:???この時ODP.NETなんかも知らないうちにこっそり入ってきたと考えてOK?
0246nobodyさん
2009/10/03(土) 17:33:18ID:???DLLのみコピーするとか手段の違いは抜きにして。
0247nobodyさん
2009/10/03(土) 18:52:54ID:???0248nobodyさん
2009/10/05(月) 18:17:11ID:???SqlDataSourceのデータソース構成ウィザードで
パラメタつきのストアドを選択し、パラメータの定義まで進むのですが
パラメータソースの部分にNone以外選択できません。
別マシンのSP1ではないVWD 2008だと普通にControlなどを設定できます。
VWDをインストールしなおした方が良いのでしょうか?
それとも何か私の方で足りない設定などあるのでしょうか?
0249nobodyさん
2009/10/06(火) 08:02:48ID:???http://www.microsoft.com/japan/presspass/detail.aspx?newsid=3766
【参加要件】
・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 の費用は必要ありません。
0250nobodyさん
2009/10/06(火) 16:30:01ID:???0252nobodyさん
2009/10/07(水) 02:23:59ID:???1000人から25人だと精鋭だけど、100人とか200人から25人だと上位25名って感じ。
0253nobodyさん
2009/10/07(水) 08:36:48ID:???0254nobodyさん
2009/10/07(水) 14:01:32ID:???でも実際に本当に凄いのはその中のさらに5%くらい。
なので、真に精鋭と呼んでいいのは25%位しかいないと思う。
0256nobodyさん
2009/10/07(水) 17:08:27ID:???0257nobodyさん
2009/10/07(水) 17:48:40ID:???0259nobodyさん
2009/10/08(木) 00:29:00ID:???100人中25人が本社の精鋭で、そのた75人のうち25人が分社時の精鋭と。
半分より上程度か('A`)
0260nobodyさん
2009/10/08(木) 09:10:25ID:???作りたいのですが、こんなのは異常ですか?
0261nobodyさん
2009/10/08(木) 12:29:29ID:???0262nobodyさん
2009/10/08(木) 17:17:31ID:???0263nobodyさん
2009/10/08(木) 17:22:47ID:???<script runat="server" src="hoge.vb"></script>
とかださくないですか?
0264nobodyさん
2009/10/08(木) 18:47:41ID:???WEBサイトで動的コンパイルさせたいだけならコードビハインドでもできる
普通はaspxにコードは書かないと思うが、まあそれで問題ないならいいんじゃない
>>263
App_Codeにソース入れておく
0266nobodyさん
2009/10/08(木) 22:14:09ID:???皆さんのところでは客等からの要望ありませんか?
GridViewで表示させるテーブルが決まっているなら、むりやりCSSでフリーズ
させれば良いようだけど、いろんなテーブルをバインドするような可変の場合は
どうすればいいのかなぁ?
0268nobodyさん
2009/10/09(金) 08:28:38ID:???.NET Framework 1.1には同じような機能はないでしょうか?
0269nobodyさん
2009/10/09(金) 09:16:33ID:???ぬるぽが発生してしまいます。
何か間違っていますでしょうか?
Public Class Test
Public Sub test()
Dim hoge As New System.Web.HttpApplication
hoge.Application.Lock()
hoge.Application.UnLock()
End Sub
End Class
ページ外のクラス内ならこうかな
HttpContext.Current.Application.Lock()
HttpContext.Current.Application.UnLock()
Aplicationオブジェクト使うより、Globalな静的メンバ使った方がいいと思うけど
0272nobodyさん
2009/10/09(金) 16:38:35ID:???お前の言うレガシーASPってなんなんだ?
普通レガシーASPっていったら、ASP.NET以前のASPだと思うが
その場合、そもそも.NET Framework関係ないんだが
0274nobodyさん
2009/10/09(金) 17:51:55ID:???.NETじゃないASPのプログラムを.NETで書いてるのか?
そもそもASPのApplicationとASP.NETのApplicationは別物だと思ったが
0275nobodyさん
2009/10/10(土) 11:18:19ID:???ってことだろ。
それぐらいわかれよ。
0277nobodyさん
2009/10/10(土) 15:59:30ID:???0278nobodyさん
2009/10/10(土) 18:25:47ID:???画面サイズはクライアント側が決めてるのでサーバ側のプログラムでは無理
クライアント側のスクリプト書けばできるかもしれない
0279nobodyさん
2009/10/10(土) 18:35:20ID:???0280nobodyさん
2009/10/10(土) 21:39:32ID:???それを囲んでるtableや、panel内に記述してあるtableやら何やらのサイズが
影響を与えてるだけで。
0281nobodyさん
2009/10/10(土) 23:00:44ID:???Cssclassプロパティもあるし、スタイル指定できないことはない
まあ、<div>になる保証はないし、厳密にやるならパネルを囲む要素かパネル内に
なんらかの要素を配置してそいつのサイズ指定するべきだな
どっちにしても動的に変更するならクライアントスクリプトの範疇
0282nobodyさん
2009/10/11(日) 18:19:48ID:???0283nobodyさん
2009/10/11(日) 22:04:00ID:???リファレンスを見て
0284nobodyさん
2009/10/12(月) 12:18:09ID:???0285nobodyさん
2009/10/12(月) 17:41:40ID:???<td>
<tr>
<div>
<img>
0286nobodyさん
2009/10/14(水) 02:22:58ID:???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 プロパティで指定してるから最初に取りに行くけど、これと同じタイミングで取りに行かせる方法はないかな〜?
もしお門違いな質問してたらスマソ
0287nobodyさん
2009/10/14(水) 02:27:41ID:???それぞれのイベントが発生したときに、それぞれの属性を変更させるのがJavaScriptなんで、
イベントが発生したとき画像を読み込みにいって時間がかかるってこと。
↓対処するには事前にクライアント側に読み込ませて置けばいいと思う。
http://www.openspc2.org/reibun/javascript/image/002/index.html
0288nobodyさん
2009/10/14(水) 10:06:24ID:b+wqBLjUどんな商材でも1情報500円という破格で放出致します。
デイトレンドFX、グローバルFXセット、FX−AAA、今や絶版のフェニックス投資法からエコスキャルT、Uなど
最新の商材も多数取り揃えております。
FXの書籍を書店で買うよりも安いです。勿論、ご入金は商材を確認されてからで結構です。
http://fxsyouzai.7narabe.net/
平素は交換用のブログとしており表立って販売の記述はありませんが10月末まで期間限定で提供致しますので
奮ってご参加下さい。
購入希望の方はブログ内左側のメールフォームよりお願いします。
0289nobodyさん
2009/10/14(水) 12:14:50ID:???0290nobodyさん
2009/10/14(水) 13:18:47ID:???0291nobodyさん
2009/10/14(水) 21:32:11ID:???このbooleanのTrue/False の状態を GridViewRow.Cells(i) を使って取得したいときには、どのように
コードを書けば良いのでしょうか?
メソッドやオプションを調べて試しているのですが、見つけられずにいます。
よろしくお願いします。
0293nobodyさん
2009/10/15(木) 08:38:12ID:???こんな感じ?
>Dim lblTest As Label = CType(gridView1.Rows(0).FindControl("lblTestCd"), Label)
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=35244&forum=7&1
>>292
思い出したんだが、スタイルシートでプリロードする方法もあったはず
というかあった。これかな?
http://blog.webcreativepark.net/2006/06/22-235110.html
0294nobodyさん
2009/10/15(木) 09:55:33ID:???CType( GridViewRow.Cells(i).Controls(0) ,CheckBox ).Checked
0295nobodyさん
2009/10/15(木) 19:33:24ID:???ありがとうございます。
ご存知でしたら追加で教えて頂きたいのですが、テーブルの中には、StringやらInt32やらもまじっています。
GridViewRow.Cells(i) の中身が Checkbox かどうかをIF文で判定して処理を振り分けたいのですが、
どのようにCheckbox判定コードを書けばよいのでしょうか?
0296nobodyさん
2009/10/15(木) 19:54:05ID:???TypeOf…Is式(VB.NET)
0297nobodyさん
2009/10/15(木) 20:44:18ID:???以下のようなコードで試しているのですが、エラーとなります。
どこを直せば良いのでしょうか?
[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
0298nobodyさん
2009/10/15(木) 21:03:42ID:???0299nobodyさん
2009/10/15(木) 21:19:19ID:???仮にその時に存在していても
例えばIsPostBack==trueでない時もオブジェクトを見に行ってるとか、
GridViewとかのViewStateがfalseになっていて、
データバインドされてない状態でRowを拾いにいってるとか、
そんな可能性もあるので注意ね
デバッグ機能を使いこなすんだ
0300nobodyさん
2009/10/15(木) 22:12:51ID:???最終的にはGridViewの中身をCSVに落とし込みたいのですけど、
boolean型のセルだけ空白になってしまうので、True/Falseに変換
した上でCSVに出力したいのですが、Controls(0)が存在しないのか、
それとも指定の仕方が間違っているかのどちらかですかね。
0301nobodyさん
2009/10/15(木) 22:21:25ID:???考え方として、これでエラーが出ないか確かめなよ
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に入れてるからエラーとかわかるでしょ
0302nobodyさん
2009/10/16(金) 05:18:14ID:???ちゃんとエラーメッセージみてるのか?
まあ、たぶんControls(0)が存在しないんだろうけど
いきなり(0)使わないでCount確認してみろよ
GridViewに表示させてるデータはバインドしてるデータじゃないのか?
CSVに吐き出すならバインドしてるデータから出力すればいいような気がするがのう
0303nobodyさん
2009/10/16(金) 07:50:37ID:???IEがチェックボックス表示するboolean型のセルの判定と
そのTrue/False状態が取得できれば完成なのですが、
そもそも、row.Cells(i).Controls(0) というコードが勘違い
ということですかね。
0304nobodyさん
2009/10/16(金) 08:05:01ID:???0305nobodyさん
2009/10/16(金) 08:18:09ID:???0306nobodyさん
2009/10/16(金) 08:51:11ID:???0307nobodyさん
2009/10/16(金) 10:27:09ID:???低レベルな住人しか寄り付かないスレ?
0308nobodyさん
2009/10/16(金) 10:48:06ID:???0309nobodyさん
2009/10/16(金) 11:17:10ID:???0310nobodyさん
2009/10/16(金) 11:42:26ID:???これなんかどう?
ttp://stackoverflow.com/questions/1424797/refactoring-gridview-export-to-csv-file
>>308-309
技術力の無い住人のゴミレス不要。
0311nobodyさん
2009/10/16(金) 11:50:49ID:???0312nobodyさん
2009/10/16(金) 11:52:56ID:???http://www.velocityreviews.com/forums/t366404-gridview-to-csv.html
すげー俺って高技術力保持者!(*∀*)ウヒョー
0313nobodyさん
2009/10/16(金) 11:57:56ID:???0314nobodyさん
2009/10/16(金) 12:05:39ID:???nslookupで名前は解決できるから鯖落ちだよな?
落ちてる鯖を勧めるって、ひょっとして中身確認してないのかな?
0316nobodyさん
2009/10/16(金) 13:09:16ID:???0317nobodyさん
2009/10/16(金) 13:33:56ID:???少なくともASP関連じゃ皆無。なんでだ?
>低レベルな住人しか寄り付かないスレ?
とかいきなり、傍観者が現れて、スレにいる人を「住人」と呼び罵倒し始める
↓
紹介したサイトはサーバ落ち
↓
それをみた依頼者がサーバが落ちてるのにも関わらず中身をみれて無事解決
↓
自演バレバレ ← いまココ
たぶんgoogleキャッシュで見ました!とかの回答がくるに100ペソ
0318nobodyさん
2009/10/16(金) 17:14:36ID:???>>304にもレスしてもらったことを試せって言われてるのに、
>そもそも、row.Cells(i).Controls(0) というコードが勘違いということですかね。
なんていって、>>305でレスされたことは試し済みと逆切れしてりゃ誰も返事なんてしてくんないよw
0319nobodyさん
2009/10/16(金) 18:12:34ID:???0320nobodyさん
2009/10/16(金) 19:31:43ID:???そうすれば俺も返答しなくて済んだんだ。
0321nobodyさん
2009/10/16(金) 19:45:02ID:???何だか異常に噛み付いてるキティが住み着いてるようだね。
質問スレなんだから、回答につながるヒントなりを書けば良いのでは?
0322nobodyさん
2009/10/16(金) 20:02:29ID:???0323nobodyさん
2009/10/16(金) 20:05:15ID:???0325nobodyさん
2009/10/16(金) 20:13:41ID:???0327nobodyさん
2009/10/16(金) 20:21:04ID:???おまえらトリップつけてやってくれよ
IDでないからNGできないからさ
0328nobodyさん
2009/10/16(金) 20:26:35ID:???0329nobodyさん
2009/10/17(土) 03:07:14ID:XTquIeJeこれからやるプロジェクトに適用するべきか否か悩んでる。
これから始めるなら、MVCか?
0330nobodyさん
2009/10/17(土) 05:14:44ID:???MVCはWeb Formsに取って代わるというものでもないし。
0331nobodyさん
2009/10/17(土) 05:44:06ID:???0332nobodyさん
2009/10/17(土) 11:50:32ID:???ASP.NET知ってればそれで済むと思う。
ViewStateが問題になる携帯でもASP.NET for Mobilesがあるし
0333nobodyさん
2009/10/17(土) 21:26:00ID:???0334nobodyさん
2009/10/17(土) 22:04:19ID:???0335nobodyさん
2009/10/17(土) 22:12:43ID:???0336nobodyさん
2009/10/17(土) 22:46:22ID:???MSで調べてもIIS4.0などの情報しかなく困っています。
どこを修正すればよいでしょうか?
Microsoft VBScript実行時エラー エラー'800a01ad'
ActiveXコンポーネントはオブジェクトを作成できません:'********'
/***/****.asp
0337nobodyさん
2009/10/17(土) 23:03:12ID:???0338nobodyさん
2009/10/18(日) 04:44:56ID:???とりあえずエラーの出た行だけでも晒せよ
6.0でも4.0や5.0と同じ原因で同じエラーが出ると思うが
http://support.microsoft.com/kb/194801/ja
とか確認してみろ
0339nobodyさん
2009/10/18(日) 19:48:47ID:???こんなパターンが多いな。最近。
0340nobodyさん
2009/10/18(日) 19:53:39ID:???0341nobodyさん
2009/10/18(日) 19:58:36ID:???0342336
2009/10/18(日) 21:49:32ID:???0343nobodyさん
2009/10/19(月) 20:19:40ID:???0344nobodyさん
2009/10/19(月) 20:42:48ID:???DB制約付けたりとかも含めて完璧にVS上で定義して全てフレームワークに任せるなら、マジオススメ。
下手なカスタマイズが入るとマジ地獄。
0345nobodyさん
2009/10/19(月) 22:10:23ID:???0347nobodyさん
2009/10/19(月) 22:48:50ID:???0349nobodyさん
2009/10/19(月) 22:53:19ID:???あと何時間か定期的に確認すんだろ?がんばってな。
0350nobodyさん
2009/10/19(月) 22:53:20ID:???0351nobodyさん
2009/10/19(月) 22:54:41ID:???このパターンにビンゴだな
0354nobodyさん
2009/10/20(火) 08:06:50ID:???0355nobodyさん
2009/10/20(火) 19:57:52ID:???技術力の無い住人は、粘着キモ馬鹿だから、すぐに釣れそうだけど。藁
0356nobodyさん
2009/10/20(火) 23:20:32ID:???その画像を一定期間IISでキャッシュしています。
それなりの大きさの画像なのでメモリ上にキャッシュせずに
ディスク上にキャッシュしているのですが、
古くなったキャッシュを削除するにはどうしたらいいでしょうか?
IISの起動・停止時にキャッシュの全削除、定期的に古いキャッシュの削除
をやりたいです。
0358nobodyさん
2009/10/21(水) 16:17:47ID:???IISの起動と終了時に、外部のプログラムを実行することなんてできるのかな?
Application_Start、Application_Endイベントじゃ駄目か?
0360nobodyさん
2009/10/21(水) 19:18:05ID:???キャッシュを削除するとかは、サービス起動時に行いたいはずだから、
駄目といえば駄目なのかもしれない。
0361nobodyさん
2009/10/21(水) 19:28:15ID:???任意のIIS再起動時にもやりたいならそのときの作業に削除処理を組み込めばいいと思う
0362nobodyさん
2009/10/21(水) 19:30:10ID:???0363nobodyさん
2009/10/21(水) 19:42:42ID:???仕様次第だけど、OSの起動とIISの起動は別の場合があるからなぁ
>>362
それだと見逃す可能性もあるよね?
0364nobodyさん
2009/10/21(水) 19:53:20ID:???0366nobodyさん
2009/10/21(水) 20:39:59ID:???オートスタートするASP.NETアプリケーション(VS 2010&.NET 4シリーズ) − @IT
http://www.atmarkit.co.jp/fdotnet/scottgublog/20090924autostart/autostart.html
0368nobodyさん
2009/10/26(月) 18:44:39ID:???<% for (int i=0; i<3; i++) %>
<% { %>
<asp:Button ID="???" runat="server"/>
<% } %>
連番でも良いのですがどのように付ければ良いのでしょうか?無理なのでしょうか・・・。
0370nobodyさん
2009/10/26(月) 18:58:13ID:???別の人が書いたコードを改造しているのですが、コードの修正規模を最小にしたいためです。
簡単にIDを設定する方法がないようであれば、書き直しも検討しなければなりませんができれば避けたいと考えています。
0372nobodyさん
2009/10/26(月) 22:22:51ID:???>コードの修正規模を最小にしたいためです。
その発想やめた方がいいよ…いやマジで。書き直した方がいいと思う。
変なソースを保守するのは大変だと思うけどさ。
0373nobodyさん
2009/10/26(月) 22:30:27ID:???0374nobodyさん
2009/10/26(月) 22:46:04ID:???頭の中がPHPになっているものですから切り替えが必要ですね。うーん、頑張ります。
0375nobodyさん
2009/10/26(月) 23:26:27ID:???タグでコントロールを作成っていう意味がわからない…。
ともかく、普通にButtonをNewしてRenderControlすればいいんじゃないの?
idはサーバー側で自動で割り振ってくれたと思うけど。ctl00_xxxみたいな連番で。
0377nobodyさん
2009/10/27(火) 02:04:17ID:JPv1u5Ye意味不明ですみません。「タグでコントロールを作成」というのは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)%>"のような表記が可能なのかと推測したのですが当然
ダメでした…。
0378nobodyさん
2009/10/27(火) 06:04:38ID:???よく認証画面などで見かける、数字の画像をランダムに
生成する機能は、何を使えば実現できますか?
フリーウェアでそういった機能のはありますか?
0379nobodyさん
2009/10/27(火) 08:21:03ID:???そもそもの作りが糞。
一般的にはRepeaterやListView等のコントロールのTemplateを使用します。
10年位前の無印ASPなやり方な上に
わざわざサーバーコントロールを使うことで縛りを設けているマゾ仕様。
とりあえずID云々の前に各コントロールへの参照が取れないんだから、
一般的な解決策はほぼ絶望じゃないかな。
>>378
Captchaじゃなかったっけ?
0380nobodyさん
2009/10/27(火) 08:42:02ID:JPv1u5Yeご回答ありがとうございます。了解しました。IDについてはあきらめようと思います。
それにRepeaterやTemplate等の代替え手段を教えていただいたのは非常に助かります。
これから勉強してみて書き換えたいと思います。ありがとうございました。
0381nobodyさん
2009/10/27(火) 08:47:17ID:???それでも出来たと思うよ。
<%#(i * hoge1.coint + j).ToString() %>
とか文字列にする必要があったような。ひょっとしたら#いらないかも。
ただ、ASP.NETはそんなやり方はしないので、
「ASP.NET コントロール 動的生成」あたりでググって調べてみるといいと思う。
たぶんaspxファイルにはPanelやPlaceHolderなどのコントロールだけ配置して
コードビハインドのメソッド内でfor文でコントロールのインスタンスを動的に生成して、
Panelに生成したコントロールをaddしていく形になると思う。
0382nobodyさん
2009/10/27(火) 08:54:35ID:???実行時バインドなんてほとんど使わないから忘れた。
出先なので自分のソースも調べらんないし、そのへん調べてみて。
0383nobodyさん
2009/10/27(火) 09:06:08ID:JPv1u5Ye具体的なやり方まで教えていただきありがとうございます。作りは悪いのはわかっていても
応急手段でIDの取得ができると本当に助かるのです。今は試せる環境にいないのですが、午
後からでもトライしてみます!
それでもいつかはやはり作り直しが必要だということは認識できました。
0384382
2009/10/27(火) 11:40:35ID:???飯食ってからだけど
0385nobodyさん
2009/10/27(火) 11:46:11ID:???上のページャーとヘッダの境界の色を変更したいのですがうまくいきません。
どのbordercolorを変更すれば良いのでしょうか?
0386nobodyさん
2009/10/27(火) 12:48:40ID:???あれごめん。
今試した範囲だとIDはやっぱり実行時バインドで設定できないみたいだ。
自分の勘違いだったっぽい。
>>385
GridViewのヘッダを表示してる<tr>要素に対してと、Pagerを表示している<tr>要素にしか
スタイルシートを設定できないので、その範囲で設定するしかないんじゃないかな。
ただPagerにスタイルシート適用すると上下両方とも反映されてしまうので、
上下対称に設定したいのなら、ヘッダの上のラインとフッタの下のラインに対して
スタイルシートを適用すると擬似的に境界の色は変えられると思う。
0387385
2009/10/27(火) 13:43:44ID:???…よく分かりません
現状はこんな感じなんですが…
http://www.dotup.org/uploda/www.dotup.org308580.jpg
<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>
GridView.PagerStyleプロパティで変更出来るんじゃね
0389nobodyさん
2009/10/27(火) 14:29:34ID:???PagerStyleでやると、上下に配置したのにラインがでちゃう。つまり
PagerStyle
<LINE1>
Grid
<LINE2>
PagerStyle
<LINE3>
PageStyleで下線を付けて<LINE1>を書こうとすると、<LINE3>にも予期しない下線が書かれちゃう。
本当はGridとの境の<LINE2>に線を引きたいはずの場合が多いのに。
>>387
ちょっと試してみるよ
0390nobodyさん
2009/10/27(火) 14:40:57ID:???<style type="text/css">
<!--
tr.test { border-top-color:#00CC00;border-style:Solid; }
-->
</style>
HeaderStyleのCssClassに対してtestを設定するとか。
そうすると境界線のラインだけ色を変更するなり、太さを変更するなりできる。
根本的に別のラインを作りたいとかだと、自分でテンプレートをいじるなりしないといけないと思う。
0392nobodyさん
2009/10/27(火) 15:41:47ID:???htmlと一緒に動的にコントロールを生成して貼り付けていくしかないと思うな
このあたりが役立つんじゃないか?
http://www.atmarkit.co.jp/fdotnet/index/bbs/dir173.html
http://www.atmarkit.co.jp/fdotnet/index/bbs/dir175.html
http://www.atmarkit.co.jp/fdotnet/index/bbs/dir51.html
0393nobodyさん
2009/10/27(火) 16:45:14ID:???サーバコントロールじゃない普通のHTML要素なら、
id="ddl<% Response.Write(なんちゃら)%>"でできる
id="ddl<%= なんちゃら %>でも上と同じ意味
今どうなってるかわからんが、
サーバコントロールにする必要あるのか?
あるいは、ほんとに個別のIDが必要なのか?
個別のID振ったとしても、ページでコントロール生成したら、
実際にインスタンスが生成されるのはHTMLのレンダリング時だから
そのコントロールを操作するタイミングが無いぞ
0394nobodyさん
2009/10/27(火) 21:17:37ID:???あれはCAPTCHAっていう。
フリーで使えるのはここ。
http://www.mondor.org/captcha.aspx
0395nobodyさん
2009/10/27(火) 22:25:07ID:???文字列をランダムに生成→その文字をbitmapなりで画像にしてランダムに歪ませる→画像として表示
なんてことやってんのかな?
0396nobodyさん
2009/10/27(火) 23:28:31ID:???スパムする方もCAPTCHA破りの画像認識ツールを使っているそうで、
それなりなアルゴリズムを要するんだってさ。
で、そのアルゴリズムが公開されたら、スパマーもそれに対抗して(ry
0397nobodyさん
2009/10/27(火) 23:33:19ID:???ありがとうございます。あれはCAPTCHAっていうんですね。
自分のサイトで、スクリプトで大量アカウントを作成される可能性
を減らしたかったのです。
ちなみに、中国のサイトで、漢字(簡体字)版のCAPTCHAを見たことがあります。
ピンインがわからないと文字を入力できないというだけでもつらいのに、
文字が歪んでいるから、元の漢字すらわからない。
日本人の自分ですら入力できないのだから、非漢字言語圏の人
にはお手上げだろうなぁ。
漢字版は、国外からのアクセスを禁止したい場合にはいいかもw
>>395
上のサイトみると、ノイズのレベルを調整したりフォントも変更できる
ようで、歪み自体は完全ランダムではないみたい。(文字列は長さを
指定した上でのランダム文字列)
0398nobodyさん
2009/10/27(火) 23:47:15ID:???どうせデータの仕事だろうけどw
0399nobodyさん
2009/10/28(水) 00:31:33ID:???NTT-MEかもしれんぞ。
MEなら一度下請けしたことあるけど、うーん、・・・
0400nobodyさん
2009/11/03(火) 14:22:11ID:???Web アプリケーションでは使えるのですが。
0401nobodyさん
2009/11/16(月) 13:33:42ID:???3MB位のオブジェクトを突っ込んでもいいんだろうか。
ちなみに同時アクセスは10人程度を想定。無論、InProcで動かしてる前提で。
0402nobodyさん
2009/11/17(火) 14:55:18ID:???0403sage
2009/11/18(水) 12:47:49ID:???全然理解して無い無能が無理して回答しなくて言いと思うんだ。
柔らかい言い方すると、馬鹿は黙ってすっこんでろ池沼。
>>401
100KB以下に抑えるべし。
じゃないとページ開く度に負荷がかかる。3MBとかならSession情報をDBに突っ込む事も
考えたほうがいい。
0405nobodyさん
2009/11/18(水) 13:16:28ID:???余計に負荷がかかるんじゃないか?
InProcで問題ないなら、同時使用人数が10人で3Mぐらいなら、
今のサーバなら十分じゃね?
やったことないから適当ぶっこいてるけど。
0406nobodyさん
2009/11/18(水) 15:55:22ID:???あとページの負荷って、セッションをDBにいれると、DBアクセスの
オーバーヘッド分だけ負荷は増えるんだぜ
>>402はまったく間違えてはいないが、問題は適切な廃棄が難しい
セッションの廃棄はほとんどタイムアウトでしか不可能だから
同時アクセス10人ってのが、同時リクエスト10人なら
1リクエスト1秒でも10分で6000アクセスだぜ
これが全部別セッションで3M使ったらメモリ持たんわな
セッションが一つなら、3Mだろうが10Mだろうが平気だがな
結局のとこ
セッションサイズは小さければ小さいほどいい
実際の限界はマシンスペックと処理するリクエスト数による
っていう、なんの参考にもならん回答に落ち着くわけですわ
0408nobodyさん
2009/11/18(水) 16:14:44ID:???0409nobodyさん
2009/11/18(水) 17:20:35ID:???と、ふわっと書いてあります。
0410nobodyさん
2009/11/18(水) 17:45:05ID:???メモリ空間は16ビットなのでメモリの消費には絶えず気をつけろって書いてある
0411nobodyさん
2009/11/18(水) 18:22:50ID:???その記述がどこにあるのか正確な所がわからんが、
数百キロで注意なら、百キロなら平気だと取れなくもない
.NETエンタープライズWEBアプリケーション開発技術大全Vol.3では、
100K以下を指標としているが、その脚注に、「実際の上限はシステム構成によって変わるため
最終的にはパフォーマンステストを実施して決定することを推奨する」とある
Iただし、この本ではInProcモードは推奨してない。そしてInProc以外ではセッションの
シリアライズ等に要する時間が無視できないほど大きくなる、とある
さらに、この本は.NET1.1時代の本だから、今の環境にそのままあてはまるとは言えない
まあ、結局のとこテストして様子見てみろ、としか言えない
ただ、InProcからそれ以外に変更すると、InProcでしか格納できないものを
格納してたりしてわけわからんバグのもとになったりするんだよなぁ
なぜ>>401はInProc前提なんだ?
0412nobodyさん
2009/11/18(水) 18:35:31ID:???単純にユーザが10人で、だから同時アクセスの最大数も10とかなら、
全然問題ないんじゃないか?
結局、セッションが適切に破棄できて、サーバスペックが問題ないようなら、
使えばいいんでない?という>>402の結論に帰結する。
0414nobodyさん
2009/11/18(水) 19:01:33ID:???0416nobodyさん
2009/11/19(木) 00:16:11ID:???>>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は結論といってる様だが?
0418nobodyさん
2009/11/19(木) 12:14:08ID:???0419nobodyさん
2009/11/19(木) 16:31:43ID:???させているんですが、現在はとりあえずMAX1000明細に制限して、もし制限を
超えるようなら「検索条件を変えてもっと明細を絞って下さい」みたいなメッセ
ーじを出しているんですが、お客さんからの要望で抽出した明細をきちんと全部
みたいと言われていて、条件を指定しなかったら万単位の明細行数になるんでペ
ージ切り替えでもいいですかって方向で持っていこうとしたらページ切り替えは
分かりにくいから駄目だといわれたんですが、GOOGLEマップみたいに画面
をスクロールさせるとちょっとづずデータを取ってくるような仕組みはASPで
も可能なんでしょうか?
0420nobodyさん
2009/11/19(木) 17:21:45ID:???JavaScriptを実行したいんだけど可能?
要は「画面を移動します。よろしいですか?」みたいなダイアログを出したい。
ButtonならOnClientClick()で楽勝なんだけど。
0421nobodyさん
2009/11/19(木) 18:17:59ID:???それAJAXで実際にやってみたけど、上のログにも感想あると思うけど、
AJAXで実装したら、サーバへのアクセス〜表示までのタイムラグがありすぎて実用的でなかった。
>>420
>>186参照
0422nobodyさん
2009/11/20(金) 00:30:35ID:Fa9imoF+Microsoft.Practices.EnterpriseLibrary.Loggingを使って
テキストファイルにログを吐く場合に、文字コードを指定することは可能でしょうか?
0423nobodyさん
2009/11/21(土) 14:35:48ID:???0424nobodyさん
2009/11/23(月) 01:06:05ID:4oP4nvDoPublic clsA As A = New A
Public clsB As B = New B
上記記述にてクラスファイルを参照し、実行した際に下の行だけ
「見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。」
というエラーが出てしまいます。
原因はなんでしょうか?
0425nobodyさん
2009/11/23(月) 03:31:17ID:???AとかBとかはどこで定義されているんだ
0426nobodyさん
2009/11/23(月) 08:32:23ID:???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として宣言しています。
他に何か書かないといけない事あったら言ってください。
0427nobodyさん
2009/11/23(月) 10:11:11ID:???WEBアプリなのかWEBサイトなのか
AとBは同じファイルに定義してあるのか?
まあなんかテンポラリ削除したら直りそうな気もする
0428nobodyさん
2009/11/23(月) 11:37:20ID:???VisualStudio2005で作ったWEBアプリで、IIS上で動作させています。
.NETFrameworkは2.0です。
AとBは別ファイルです。
テンポラリはWeb.configの記述ですか?
0429nobodyさん
2009/11/23(月) 18:04:25ID:???AとBの定義してあるファイルはどこにあるんだ?
そのファイルは.dllなのか.vbなのか?
テンポラリは標準ではたぶん
c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
あたり。この中身ズバッと消して見れ
0430nobodyさん
2009/11/25(水) 16:38:29ID:???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等でも)
0431nobodyさん
2009/11/25(水) 18:42:42ID:???各明細の編集ボタンも表示させたいとかだと不自由かもしれないけど。
Repeaterでやれば各行を集計して、コード帯やらが変わるたびに集計行を表示とか
いろいろできると思うけど。
0432430
2009/11/26(木) 02:15:49ID:???SQLで小計出力が出来ることを知りませんでした。
cube rollup 調べてみます。
(datatableをバインドする前に、
新たなdatatableを作って、コード帯が10〜19だったら、
それまでの合計を足して、NewRowに入れて、Addするみたいな
イメージで組もうとしてました)
ありがとうございます。
0433nobodyさん
2009/11/26(木) 10:44:47ID:???0434nobodyさん
2009/11/27(金) 00:01:40ID:???権限のからみでほとんど使えないだが…
0435nobodyさん
2009/11/28(土) 08:10:59ID:???入力される様にしたいのですが、色々調べてみたのですがわかりません。
どうすればよいのでしょうか?よろしくお願いします。
DB:MS Access、VWD2005、VB
0436nobodyさん
2009/11/28(土) 09:38:53ID:???0437nobodyさん
2009/11/28(土) 13:32:50ID:???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();みたいな
0438nobodyさん
2009/11/28(土) 13:34:04ID:???○UPDATE **** WHERE ID = @ID; SELECT *** WHERE ID = @IDみたいな
0439nobodyさん
2009/11/28(土) 16:55:14ID:???ありがとうございます。
> ただ、実際の日付更新はUpdate文にNow()を記述して更新したほうが、
> 日付の更新し忘れがなくていいような気がする。仕様次第だけどさ。
この方法で行きたいです。
> GridViewにDataBindして編集したときって、
> 編集された内容をViewStateで保持し続けて、
> Update後もUpdate前のデータを引きずるんだっけか?
> それでSQL文のNow()が反映されないという意味なら、
> DataSetで更新後のデータを引っ張るようにSQL文を記述するしかないと思われる。
たぶん、この現象でUpdate後にDBにNow()が反映されないです。
0440nobodyさん
2009/11/28(土) 16:56:18ID:???以下のテストコード書いてみました。
テーブル名:名簿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に反映されない。
もちろん「更新日時」情報も更新されず、以前の情報が入ったままです。
0441nobodyさん
2009/11/28(土) 18:31:02ID:???まずデータベースに更新されないところを解決してみたら?
自分はAccessではやったことがないので、よくわからんが。
更新時間の表示はそれからでも遅くないぞ。
0442435
2009/11/28(土) 19:11:41ID:???アドバイスありがとうございます。
正しく動くコードを書いてみました。
以下のコードだと、修正内容で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>
0443nobodyさん
2009/11/29(日) 16:12:41ID:???visual web developer 2008で
新しいウェブサイトの作成→F5キーで「デバッグを開始」
をすると、
デバッグを有効にするためにweb.configを変更する
のダイアログ表示後、
LMS
c:\マイドキュメント〜\http:\localhost:3745\(作った新しいウェブサイト名)\ cntaints an invalid path.
というダイアログが表示してしまいます。
どういった現象で、どう解決したらよいのでしょうか?
0444nobodyさん
2009/11/29(日) 16:28:31ID:???ってディレクトリっていうかフォルダが存在していないとか?
そもそもディレクトリ名にコロンとか無理でしょ
0445nobodyさん
2009/11/29(日) 16:39:19ID:???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>
0446435
2009/11/29(日) 17:56:49ID:???アドバイスありがとうございます。
当方でも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>
0447435
2009/11/29(日) 17:59:01ID:???ちなみに、新規データ「挿入」時の「作成日時」「更新日時」の自動登録は以下のコードで
MS Accessで正しく動作しています。
<asp:AccessDataSource ID="AccessDataSource12" runat="server" DataFile="~/App_Data/MyDB.mdb"
InsertCommand="INSERT INTO [名簿3] ([名前], [年齢], [作成日時], [更新日時]) VALUES (?, ?, Now(), Now())"
SelectCommand="SELECT [名前], [年齢] FROM [名簿3]">
<InsertParameters>
<asp:Parameter Name="名前" Type="String" />
<asp:Parameter Name="年齢" Type="Int16" />
</InsertParameters>
</asp:AccessDataSource>
0449435
2009/11/29(日) 18:36:02ID:???いいえ、解決しておりません。
MS Accessで新規データの「挿入」時の作成日時、更新日時の自動設定はうまく動くので
すが、GridViewの「編集」「更新」時の更新日時の自動設定を行う方法がわからなくて
困っております。ご指導よろしくお願いします。
0451435
2009/11/29(日) 20:01:30ID:???そうなんです。AccessをSQL Serverと同じように設定してもだめなんです。
<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>
[更新日時] = Now()に記述しても、動かすとエラーメッセージは出なくて、
GridViewの「編集」「更新」で修正した内容がAccess DBに反映されず、GridViewの表示
も当然更新前の内容が表示されるんです。
どこに問題がありそうでしょうか?
0452nobodyさん
2009/11/29(日) 20:40:39ID:???MSDNでもらったのにOfficeあったかな・
0453435
2009/11/29(日) 21:05:19ID:???是非Access探してみてください。
Access2007の場合は、.accdtファイルはASP.NETで認識してくれません。
Access2002-2003の.mdbファイルで保存するとASP.NETが認識してくれます。
0454nobodyさん
2009/11/29(日) 22:18:26ID:???とかにすると動くけど、いらないパラメータ減らしたりすると動かないー
0455nobodyさん
2009/11/29(日) 22:22:51ID:???なんかの順番で自動的に埋めてくみたいになってんじゃないかね。
だから順番とか、数の不一致とかでエラーになるとか。
0456435
2009/11/29(日) 23:07:35ID:???UpdateCommand="UPDATE [名簿3] SET [名前] = ?, [年齢] = ? ,[作成日時] = ? & left(?,0) , [更新日時] = now() WHERE [ID] = ?"
で希望通りの動きをしてくれる様になりました。ありがとうございました。
「 & left(?,0)」ダミーで変数をひとつ受け取ってやれば良いと言う事ですね。
↓希望通り動いたコード
<asp:AccessDataSource ID="AccessDataSource11" runat="server" DataFile="~/App_Data/MyDB.mdb"
SelectCommand="SELECT [ID], [名前], [年齢], [作成日時], [更新日時] FROM [名簿3] ORDER BY [ID] DESC"
UpdateCommand="UPDATE [名簿3] SET [名前] = ?, [年齢] = ?, [作成日時] = ? & left(?,0), [更新日時] = Now() 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>
0457nobodyさん
2009/11/29(日) 23:21:27ID:???このへんみてみたら?
http://codezine.jp/article/detail/2340?p=3
0458nobodyさん
2009/11/30(月) 17:07:37ID:???この際、一度プレブー画面を表示して、プレブー画面上の印刷ボタンでも構いません。
クライアントになんかしらんのエージェントでもインストールしない限り、画面のボタンを
押したらプリンタに出力、というのは実現できない気がするんですが、なにか方法がありま
ますでしょうか?
Javaスクリプト併用で画面イメージの印刷だったら画面ボタンをクリックして直接印刷できる
でしょうか?
0459nobodyさん
2009/11/30(月) 18:08:23ID:???JavaScriptでブラウザの機能としての印刷ダイアログを表示させることはできるね。
http://bunjin.com/java/btn_prn.html
でもブラウザで、四角四面の帳票を印刷させるのはほとんど不可能。
自分でPDFを作成するか、PDFなり、帳票を自動的に作成してくれる
コンポーネントを買うほうがいいと思う。
0460nobodyさん
2009/11/30(月) 18:33:40ID:???前に以前のプロジェウトでSVFなら使った事あります。ただ、今回の案件では金額的
な面からSVFは導入されなかたので、もし可能ならブラウザーから直接印刷したい
思いました。
0461nobodyさん
2009/12/01(火) 10:42:21ID:???最近はいろんなのがでてるだろうから、調査しなきゃいけないなあ
0462nobodyさん
2009/12/03(木) 17:06:57ID:???0463nobodyさん
2009/12/03(木) 19:46:35ID:???0464nobodyさん
2009/12/03(木) 20:05:05ID:???0465nobodyさん
2009/12/03(木) 20:32:59ID:???フリーなソフトがあればなぁ
0466nobodyさん
2009/12/12(土) 19:46:57ID:???詳細情報を表示させる、みたいな処理を考えています。
モーダルダイアログ自体は↓この辺が参考になるかなぁと思っていますが
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/580aspajaxmodalpopup/aspajaxmodalpopup.html
ダイアログを開く際に詳細情報をサーバに取りに行って、取得した内容をダイアログに出す
と言うところが分かりません。(Responseの中に詳細情報を埋め込みたくない)
詳細情報取得の部分だけ別途XML Webサービスで作っておいて非同期に実施?
どこかに参考になるようなサンプルがあったりしないでしょうか?
0467nobodyさん
2009/12/12(土) 20:29:38ID:???ポストバックっていう言葉なのですが、何回も言ってるとフィストファックって聞こえませんか?
先日ずっとフィストファックって聞こえて仕事になりませんでした。
0468nobodyさん
2009/12/12(土) 21:14:47ID:???まず耐性を付けることが重要だ。
以後、6を見る度、sexと脳内補完して読むように。
5でチンコでもいいが萎えるようなら止めたまえ。
0469nobodyさん
2009/12/12(土) 22:11:10ID:???<input id="Text1" type="text" />
これの違いって何ですが?
上は標準のテキストボックス
下はHTMLのテキストボックス
0471nobodyさん
2009/12/12(土) 22:26:03ID:???<input id="Text1" type="text" />
のテキストボックスに出しているソースと
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
のテキストボックスに出しているソースがあります
何か明確な違い(例えば色を変えられない等)があるのかと思って質問しました。
0472nobodyさん
2009/12/12(土) 23:02:48ID:???まずinputタグの方はそのままではコードビハインドから操作できない。
したがって、動的に変更する場合はJScript等クライアント側から行う必要がある。
まずここが一番大きな違い。
runat="server"をセットすることで、サーバー側から操作できるようになるが、
この場合クラスはHtmlInputTextとなる。
ttp://msdn.microsoft.com/ja-jp/library/system.web.ui.htmlcontrols.htmlinputtext.aspx
後者はTextBoxクラスとして扱われる。
ttp://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.textbox.aspx
最終的にhtmlに展開される点では同じなので、基本的に出来ることも同じ。
そういう意味で(色の設定云々といった)違いは発生しない。
だが、例えばTextBoxはTextModeプロパティを変更することでtextareaタグとして
レンダリングされることとなる。この場合、HtmlInputTextとの扱いに差がでる。
前者はあくまで対応するHTMLタグの参照、
後者はASP.NETが抽象化したコントロールという意味的な違いがある。
0474nobodyさん
2009/12/13(日) 00:02:26ID:???Responseの中に表示させたくないってのはどういうこと?
htmlのソースの中に表示させたくないってこと?
0475nobodyさん
2009/12/13(日) 00:26:25ID:???AJAX使って、クリックされたタイミングでデータを取得してページを部分書き換えしたい
ということです。そもそものページ(GridViewが貼ってあるページ)を返すときにはまだ
詳細情報を取得していない状態、としたいのです。(明細行数分の詳細情報とか
すごいサイズになってしまうので)
0476nobodyさん
2009/12/13(日) 00:46:07ID:???単に明細ボタンクリックで、詳細を表示させたいということなら、
別ウィンドウを表示させるだけでいいんじゃない?
例えばJavaScriptで、targetが_blankのウィンドウに、
その明細を表示させるためのaspxに、明細のIDをgetなりセッションで渡してあげればいいと思うけど。
0477nobodyさん
2009/12/13(日) 21:01:29ID:???避けたいんです。
0478nobodyさん
2009/12/13(日) 21:22:18ID:???ならASP.NET AJAXを使って、普通に記述するだけで表示できるよ。
GridViewのイベントをフックして、その明細を表示するIDを取得して、
普通にDataSetに明細データを読み込んで表示させればいい。
0479nobodyさん
2009/12/14(月) 00:24:48ID:???で、具体的には?
0480nobodyさん
2009/12/14(月) 00:52:21ID:???ModalDialogExtenderがなんちゃってだぞ。
showModalDialogも知らんのか。
0481nobodyさん
2009/12/14(月) 00:56:45ID:???0482nobodyさん
2009/12/14(月) 00:59:21ID:???具体的にも何も、そのまま普通にポストバック形式で記述して、
ASP.NET AJAXを導入するだけでしょ。
それ以上、どうやって具体的に説明すればいいか、
現実的な方法が思い浮かばない。
0483nobodyさん
2009/12/14(月) 02:45:20ID:???実は判ってないか、質問が理解出来ていないかのどっちか。
0484nobodyさん
2009/12/14(月) 05:56:26ID:???それじゃソースをよこせって言ってるようなもんじゃん
ポストバック形式で記述します。
ASP.NET AJAXを導入します。
実現できるよね?
じゃ、こういえばいいのかな。
GridViewのそれぞれの行にButtonを設置するよね。
でそのButtonクリックでイベントを発生させて、その行のデータのIDを引数として渡す。
んでaspxでそのイベントをフックして、IDを取得できるので、
そのIDから、データベースよりデータを取得して、DataSetに格納する。
さらに任意のサーバコントロールを設置して、ダイアログ画面として表示させ、
そのダイアログの画面の、それぞれのサーバコントロールにDataSetに取得したデータを表示させる。
これをそれぞれ、目的に合致するようにソースに置き換えればいい。
何か難しいことがある?
0485nobodyさん
2009/12/14(月) 09:40:19ID:???0487nobodyさん
2009/12/14(月) 13:26:06ID:???http://www.atmarkit.co.jp/fdotnet/dotnettips/621aspajaxdynamicpopulate/aspajaxdynamicpopulate.html
@ITより詳しい内容が本になって出てるので、それも参考に
ASP.NET AJAXプログラミング(マイコミ)
0490nobodyさん
2009/12/14(月) 13:51:36ID:???お前勘違いしてるだろ。
要は明細を表示させればいいわけで、XMLWebサービスを使わなければならない必要はない。
だから、ただASP.NET AJAXを導入すればいいだけ。
0491nobodyさん
2009/12/14(月) 14:03:05ID:???ないと言うよりは単に荒らしてるだけのように見えてきた('A`
AJAXを導入すれば何もしなくてもいいと思ってんの?
つーか、「AJAXを導入」ってどういう意味で言ってるの?
0492nobodyさん
2009/12/14(月) 14:07:17ID:???0493nobodyさん
2009/12/14(月) 14:08:30ID:???0494nobodyさん
2009/12/14(月) 14:16:40ID:???0495nobodyさん
2009/12/14(月) 14:20:04ID:???0496nobodyさん
2009/12/14(月) 14:21:09ID:???あ、お前もしかしてVisualStudio2008の使い方知らないの?
つまりこうですね。
0497nobodyさん
2009/12/14(月) 14:26:00ID:???>>491
AJAX Control ToolkitとASP.NET AJAXは別物なんだよ
ASP.NET AJAXってのは、ASP.NET 2.0 AJAX Extensions 1.0のことでVS2005のアドオン。
VS2008には標準装備で、プロジェクトでAJAX Webサイトを作成すれば、自動的に利用できる。
ASP.NET AJAXは、コーディングレスでデータ取得や描画をAJAX化してくれる。
だから、XMLWebサービスを使わなくても、ASP.NET AJAXを利用する手はずさせすれば、
ボタンクリック時にデータを取得して、ポストバックせずに画面の一部を変更する
なんてことができるんだよ。
ASP.NET AJAXならコーディングレスでAjaxを実装できる(前編)
http://itpro.nikkeibp.co.jp/article/COLUMN/20070817/279763/?ST=webdesign
ASP.NET AJAX ファーストルック
−ASP.NETアプリケーションをプログラミングなしでAjax化−
http://www.atmarkit.co.jp/fdotnet/special/aspajax/aspajax_01.html
つーわけで>>478、>>482、>>484は正解。
>>485、>>488、>>491はもっと勉強してから出直してくるように。
0498nobodyさん
2009/12/14(月) 15:31:26ID:???AJAXに手を出せば出来る事は、そもそも質問者も最初に書いてる訳で。
具体的な方法が判らないつーてるのに二言目には「AJAX使え」と繰り返すばかり。
馬鹿なの?実は具体的な実装例は判ってないでしょ?
・・・と言う点を指摘されてる事もわからない訳ですね。
0499nobodyさん
2009/12/14(月) 15:37:08ID:???PostBack仕様は>>484が書いてる通りじゃん。
つまり>>484の通りに作って、「ASP.NET AJAXを導入」しさえすれば、
>>497に書いてある通り、「コーディングレスでAjaxを実装できる」ということ。
他にどのように説明をしろと?
0500nobodyさん
2009/12/14(月) 15:41:00ID:???0501nobodyさん
2009/12/14(月) 15:53:37ID:???>>491
>AJAXを導入すれば何もしなくてもいいと思ってんの?
うんASP.NET AJAXを導入すれば何もしなくてもいいの。
0502nobodyさん
2009/12/14(月) 16:12:59ID:???とりあえずAJAXっていうのが凄いって事はわかった
なんか似たような拡張もの?でMVCうんたらみたいのもあるけどあぁいうの使ってるの?
他にもこういうのある?
0503nobodyさん
2009/12/14(月) 16:29:21ID:???別にXML Webサービスに分離する必要もないけど、XML Webサービスを使っても実現出来る
以上、あとは実装者のお好み次第。
サルみたいに「AJAX導入」を繰り返すだけの回答で質問者が理解出来てるならそれで十分。
以上終了。
0505nobodyさん
2009/12/14(月) 17:17:44ID:???ただポストバックする方法で作ればいいだけなんだから、
それ以上の答えなんてないだろw
>478 名前: nobodyさん [sage] 投稿日: 2009/12/13(日) 21:22:18 ID:???
>ならASP.NET AJAXを使って、普通に記述するだけで表示できるよ。
>GridViewのイベントをフックして、その明細を表示するIDを取得して、
>普通にDataSetに明細データを読み込んで表示させればいい。
ほんとこのまんまじゃん。
ASP.NET AJAXを利用して、
GridViewのイベントフックメソッドでid取得して、明細データを取得して表示
これ以上どんな説明すればいいんだ?ww
0506nobodyさん
2009/12/14(月) 18:19:02ID:???お前の言うポストバックする方法ってのはいまいち理解できん
ASP.NETでポストバックじゃない方法があるのか?(MVCはしらん)
具体的にって言ってるんだから、サンプルコードでも出してみてくれ
ASP.NET AJAXの何を利用するんだ?具体的な関数やコントロールは?
0507nobodyさん
2009/12/14(月) 18:26:10ID:???>ASP.NET AJAXの何を利用するんだ?具体的な関数やコントロールは?
>ASP.NET AJAXの何を利用するんだ?具体的な関数やコントロールは?
>ASP.NET AJAXの何を利用するんだ?具体的な関数やコントロールは?
>ASP.NET AJAXの何を利用するんだ?具体的な関数やコントロールは?
0508nobodyさん
2009/12/14(月) 18:26:44ID:???あんまり苛めてあげないでw
代わりに俺が書いて見るぜ。
まずは、ToolKitインストールするからちょっとまってね(´・ω・`)
0510nobodyさん
2009/12/14(月) 18:53:18ID:???http://mattberseth.com/blog/2007/07/modalpopupextender_example_for.html
0511nobodyさん
2009/12/14(月) 19:03:02ID:???ModalPopupとUpdatePanelつかってやるのが一番一般的だね。
同じようなサンプルだけど、この辺↓も。
http://msdn.microsoft.com/ja-jp/magazine/cc164247.aspx
まあ、いずれにせよ、AJAXを導入しただけじゃ駄目だし、別にGridViewのイベントを
フック(今読むとこれも意味不明だw)してる訳でもないし、AJAX導入だけで出来る
と主張してる奴はもっと違うやり方なんだろうなw
ちなみにGridViewを使う必要がないなら、DynamicContextという手もある。
>>511
いや、基本それと同じでしようね。
GridViewのイベントハンドラメソッド内で、何らかのデータを取得して表示させるというのは
>GridViewのイベントをフックして、その明細を表示するIDを取得して、
>普通にDataSetに明細データを読み込んで表示させればいい。
が意味してるんでしょう。
んで、データを後からもってくるというのは、PostBackせずに部分PostBackで
ModalPopup内の表示を変更するということで、AJAXがコードを記述しなくてもやってくれる
=AJAXを設定するだけでOKということだね。
0513nobodyさん
2009/12/14(月) 19:24:47ID:???2つのサンプルを見ても、AJAXの導入&プロパティの設定だけで期待する動作が
出来ているようには見えない。ModalPopupExtentionやUpdatePanelと言った単語
も一度として出てきていない。
AJAXの導入だけで普通出来る、と言ってる奴は自分では判ってるのかも知れんが、
少なくとも人に伝える、人に教える技術と言う点では全く完全に論外。
0514nobodyさん
2009/12/14(月) 19:30:10ID:???>PostBackせずに部分PostBack
更新が部分的なだけでPostBackは常にページ全体が送られてきていたような。
UpdatePanel内でしかポストバックしないと思うけど、どうだったかなぁ
>まったく同じコントロールをUpdatePanelコントロールの中に入れるだけで、
>全体ポストバックではなく、AJAXの部分更新となり、ページの履歴も残らなくなります(図8)。
http://codezine.jp/article/detail/1470?p=2
0516nobodyさん
2009/12/14(月) 19:46:37ID:???>controlのイベントメソッドへの記述を「イベントフック」等と普通言わないし、
それは言い掛かりだろ。
>イベントハンドラ
>イベントが発生した際に実行すべきサブルーチンのこと。イベントフック、イベントリスナーなどの呼び方がある。
>AJAXの導入&プロパティの設定だけで期待する動作が出来ているようには見えない。
だれがAJAXを導入して、プロパティ設定だけすれば実現できるなんて書いてる?
「ポストバック時と同じように書いて、AJAXを利用すれば要求を実現できる」と記述してるだろうが。
いちいちすべて教える義務なんて俺らにはないんだからさwww
AJAXやってみなよ。やればわかるよ?みたいなスタンスでどこが悪いの?
>AJAXの導入だけで普通出来る、と言ってる奴は自分では判ってるのかも知れんが、
>少なくとも人に伝える、人に教える技術と言う点では全く完全に論外。
自分がわからない事を懇切丁寧に教えて貰えないからといって、文句言わない。
泣かない。逆切れしない。
お前がASP.NET AJAXについて何も知らなかっただけだろ?
ASP.NET AJAXを知った今ならどう思う?
普通にポストバックするように記述して、ASP.NET AJAX導入すれば実現できるよ?
って言われたらその通りだろ?ww
0517nobodyさん
2009/12/14(月) 20:01:17ID:???0518nobodyさん
2009/12/14(月) 20:08:15ID:???自らの不勉強を棚に上げて、
教えるほうが悪いって言われても困るよな。
0519nobodyさん
2009/12/14(月) 20:19:44ID:???普通、あらかじめ用意されている標準のイベントに対しては、フックという表現はあまり使われないと思うがな
で、ここまででお前から具体的な内容はなにもないのな
まさかお前、ASP.NET AJAXってUpdatePanelしか無いと思ってないか?
0520nobodyさん
2009/12/14(月) 20:31:30ID:???なるほど。
個人的にはその記事の「AJAXの部分更新」というところを
部分Postbackとは呼ばず「更新が部分的」という言葉で表した感じ。
一例としてMSDNでは「部分ページレンダリング(Partial-page rendering)」としている。
http://msdn.microsoft.com/ja-jp/library/cc295299.aspx
その記事の全体ポストバック、部分ポストバックは、
MSDNでは同期ポストバック、非同期ポストバックに当たる気がする。
で、言いたかったのはこれ。こっちの言い方も悪かったね。
>リクエスト・データには「通常のポストバックと同様のデータが含まれている」
http://www.atmarkit.co.jp/fdotnet/dotnettips/672aspajaxasyncpost/aspajaxasyncpost.html
↑これについての認識が同じなら、用語の選び方の差だね。
0521nobodyさん
2009/12/14(月) 20:41:22ID:???0522nobodyさん
2009/12/14(月) 20:42:19ID:???>普通、あらかじめ用意されている標準のイベントに対しては、フックという表現はあまり使われないと思うがな
いちいち言葉の概念とか詳しく記述しないと、とことんまで揚げ足とりかよ。
aspxは、それぞれが一つのクラスで表現されていて、コントロールが発生するイベントは、
そのページを表すパーシャルクラスに宣言された一つのメソッドを実行してるに過ぎないんだぜ?
つまり、イベントをフックする(ひっかける)とは、aspxにメソッドを用意して、
サーバコントロールでイベント発生時に、そのメソッドを実行するように設定することだ。
>で、ここまででお前から具体的な内容はなにもないのな
これまで書いたことはすべて無視か?
知らずに無知をひけらかして逆切れしたのはお前のほうだろ?w
>まさかお前、ASP.NET AJAXってUpdatePanelしか無いと思ってないか?
ほほー勉強してるようだね。感心感心。
0523nobodyさん
2009/12/14(月) 20:58:19ID:???0524nobodyさん
2009/12/14(月) 21:05:02ID:???ちゃんと教えてくれないとか、意味がわからないとか、そんな不満をこのスレで発散
日本の技術力が衰退するわけだよ
0525nobodyさん
2009/12/14(月) 21:15:00ID:???> 2つのサンプルを見ても、AJAXの導入&プロパティの設定だけで期待する動作が
> 出来ているようには見えない。
↓
> だれがAJAXを導入して、プロパティ設定だけすれば実現できるなんて書いてる?
↓
>> つまり>>484の通りに作って、「ASP.NET AJAXを導入」しさえすれば、
>> >>497に書いてある通り、「コーディングレスでAjaxを実装できる」ということ。
どう読んでも 「コーディングレスで出来ます」 と言ってるようにしか読めません('A`
0526nobodyさん
2009/12/14(月) 21:16:41ID:???これのどこがコーディングレスなのか詳しく。
>じゃ、こういえばいいのかな。
>GridViewのそれぞれの行にButtonを設置するよね。
>でそのButtonクリックでイベントを発生させて、その行のデータのIDを引数として渡す。
>んでaspxでそのイベントをフックして、IDを取得できるので、
>そのIDから、データベースよりデータを取得して、DataSetに格納する。
>さらに任意のサーバコントロールを設置して、ダイアログ画面として表示させ、
>そのダイアログの画面の、それぞれのサーバコントロールにDataSetに取得したデータを表示させる。
0527nobodyさん
2009/12/14(月) 21:19:40ID:???コーディングレスでAjaxを実装できるとは書いてあるが、
コーディングレスでできるなんてどこにも書いてないよな?
どこにコーディングレスでできるって書いてあるんだ?
それは、部分更新をするAjax化がコーディングレスで実装できるという意味だと思うので、
間違っていないと思いますよ
>>466,475さんの聞きたいことは、
「クリックされたタイミングでデータを取得してページを部分書き換えしたい」
ということなんで「ページの部分書き換え=Ajaxを利用すれば実現できますよ」
で間違っていないと思いますよ。
文章からはデータを取得する方法までは聞かれていないと思うので、
その方法を書いていないからおかしいというのは、極論すぎると思います〜
0529nobodyさん
2009/12/14(月) 21:35:47ID:???貴殿、そろそろ口を閉じた方がいいと思うんだ(´・ω・`)
客観的に見て参考になったのは
>>487
>>510
>>511
だけであり、貴殿の書き込みはたいして参考になっていないのが現実だから(´・ω・`)
0530nobodyさん
2009/12/14(月) 21:41:17ID:???0532nobodyさん
2009/12/14(月) 21:51:07ID:???>>510と>>511は、AJAXの存在を指摘され、必死で勉強した結果のレス
従って>>529は自作自演
もういいんだよ。楽になろうぜ。
0533nobodyさん
2009/12/14(月) 21:56:13ID:???>部分更新をするAjax化がコーディングレスで実装できるという意味だと思うので
ButtonClickの中でUpdateとShowを行ってるように見えるけど?
まあ今度は「AJAXがコーディングレスで実装出来ると言っているだけで、サーバサイドの実装まで
コーディングレスで出来るとは一言も言っていない」になるのかな。
>文章からはデータを取得する方法までは聞かれていないと思うので、
>その方法を書いていないからおかしいというのは、極論すぎると思います〜
誰もそんなところをおかしいとは言っていないwwwww
>>511
ダイナミックコンテキストだと別途WEBサービスが必要だけど、わざわざPOPUPのためだけに別途
WEBサービスを用意するのは、俺ならちょっと気が引けるかも
0534nobodyさん
2009/12/14(月) 21:56:18ID:???0535nobodyさん
2009/12/14(月) 21:58:27ID:???0536nobodyさん
2009/12/14(月) 22:04:03ID:???>AJAX使って、クリックされたタイミングでデータを取得してページを部分書き換えしたい
の回答が
>ならASP.NET AJAXを使って、普通に記述するだけで表示できるよ。
の時点で(ry
>ButtonClickの中でUpdateとShowを行ってるように見えるけど?
いやコントロールのUpdateとShowのメソッドの実行は、
Ajaxでなくても必要だから必要ですよね?
あなたも仰る通り、Ajaxは描画の部分更新をしてくれる機能なわけで、
それ意外のメソッドを省略してくれる機能ではないのだから、
それは普通の実装だと思いますよ〜
で、UpdateだのShowをしたときの、コントロールの状態の変化を
自分で定義しなくてもASP.NET AJAXが実装してくれてるということではないかと。
何か、基本的なところで勘違いしているような感じがするなぁ(´・ω・`)
0538nobodyさん
2009/12/14(月) 22:07:17ID:bCwbFrem>そもそも、
>>AJAX使って、クリックされたタイミングでデータを取得してページを部分書き換えしたい
>の回答が
>>ならASP.NET AJAXを使って、普通に記述するだけで表示できるよ。
>の時点で(ry
正しいじゃないか
0539nobodyさん
2009/12/14(月) 22:09:09ID:???>いやコントロールのUpdateとShowのメソッドの実行は、
>Ajaxでなくても必要だから必要ですよね?
え?
0540nobodyさん
2009/12/14(月) 22:14:43ID:???「AJAX使えば(クライアント側の)実装はコーディングレスで出来ます」とか言われても、
ナニ当たり前の事言ってるのこの人・・・って感じなんだけどw
ごめん、普通のコントロールのメソッドだと勝手に勘違いしてた。
それは確かにAJAXに関係するコントロールのメソッドで、
そこに記述されてる方法でダイアログを表示させるのに実行しなければならないメソッドだろうけど、
そこまで懇切丁寧に説明されていないと、
説明されたことにはならないって言いたいってこと?
つまり、AJAXの存在を教えただけでは足りないと?
最初からレスみてると、他のみなさんと同様に、
あなたはAJAXを今まで知らなかったような感じがしてたんだけど、
そのところ実際のところはどうなのかな?
0543nobodyさん
2009/12/14(月) 22:53:16ID:???俺は>533ではないが、>533の話は説明がどうこうじゃなくて
コーディングレスじゃないだろうって話じゃないのか?
AJAXでOKな人もそうだが、自分の説明に文句つけるやつは
知らないから文句つけてるとでも思ってるんだろうかね
0544nobodyさん
2009/12/14(月) 23:01:47ID:???自分では理解してるつもりでもそれを他人に伝える能力が無い人と。
理解は出来て無くても適切な情報へのポインタを示せる人と。
それだけのこと。ただ、それだけのこと。
うーん。そうなると「コーディングレス」の定義ってことですよね。
ということなら、コーディングレスは、コーディングが全く無いというわけでなく、
コーディングが少ないという意味だということになるんだと思います。
ASP.NET AJAXというフレームワークによって、
本来自分で実装しなければならないAJAX技術の入力が省力化されているわけなので、
十分にコーディングレスされてると思いますがどうでしょう。
さらにいうと、ASP.NET AJAXは、過去の経験上、
ほんとうにコーディングをまったくしなくてもいいと思うぐらい優秀だと思います。
[副](littleの比較級;最上級はleast)
1 (程度・度合が)いっそう少なく, もっと[さらに, より]下回って;((同一人物の2つの性質・状態を比較して))(…というよりは)むしろ…((than ...))
━━[形](littleの比較級;最上級はleast)
1 (分量・程度が)…より少ない, 少量の;(大きさが)…より小さい(⇔more, greater). ⇒FEWER
0547nobodyさん
2009/12/15(火) 00:20:28ID:???0548nobodyさん
2009/12/15(火) 00:23:54ID:???0549nobodyさん
2009/12/15(火) 00:25:35ID:???0550nobodyさん
2009/12/15(火) 00:27:25ID:???0551nobodyさん
2009/12/15(火) 00:36:00ID:???普通に〜すれば出来る。
普通にといったら普通にです。他に言いようが無い。
間違ってもこいつは客先には出せねえw
0552nobodyさん
2009/12/15(火) 00:40:24ID:???一般にコーディングレスというと、コーディングがまったくない事だ
どこの辞書を転載してるのか知らんが、自分の都合のよい所を転載してるのは
本気で記載を見つけられなかったのか?
試しにYahoo!辞書で-lessを引いてみろ
「…のない」って出てるだろ
0553nobodyさん
2009/12/15(火) 00:52:43ID:???# 実は同一人物のような気もするけどw
0554nobodyさん
2009/12/15(火) 00:52:53ID:???場所替えしたのでトリップなくてすいません。
ああ、そうかシュガーレスとかのレスかー
それじゃ、私の勘違いですね〜。失礼しました。
0555nobodyさん
2009/12/15(火) 00:56:44ID:???いやいや違うよw
でも、素でわからないんだけど、AJAX実装すれば実現できるわけでしょ?
そのように返事したレスがなんで問題になってるの?
0556nobodyさん
2009/12/15(火) 01:05:59ID:???0557nobodyさん
2009/12/15(火) 01:06:57ID:???AJAX利用しろで正解だろ?
何がおかしいんだ?
AJAX知らなかったくせに後出しじゃんけんかよ。
0558nobodyさん
2009/12/15(火) 01:08:01ID:???メールでやれ。 お前二人以外には何の役にも立たん。迷惑だ。
0559nobodyさん
2009/12/15(火) 01:15:34ID:???AJAXの事知らずに書き込んで何が悪いんだよ
0560nobodyさん
2009/12/15(火) 01:16:40ID:???AJAX実装で実現できます、では間違ってはないが、何の回答にもなってない
問題は、じゃあ具体的にどうやるんだって言われて
ASP.NET AJAXを導入するだけだとか、普通に組むだけだとか言うから
それじゃ回答として不足でしょ、ってみんな言ってるわけ
(まあ不足なだけじゃなくて書いてる内容も微妙だと思うがな...)
でも結局具体例はなにもだせなく、挙句突っ込んだ人を無知扱いしたから叩かれてるんだよ
0561nobodyさん
2009/12/15(火) 01:18:58ID:???0562nobodyさん
2009/12/15(火) 01:25:31ID:???>AJAXで実現できるのは初めからわかってる
はい、ダウト。
>詳細情報取得の部分だけ別途XML Webサービスで作っておいて非同期に実施?
>どこかに参考になるようなサンプルがあったりしないでしょうか?
この発言のどこを見れば、AJAXで実現できると初めからわかってるんだ?
Webサービスを利用して実現しようとしていたのに。
後からAJAXの存在を知って、都合良く利用してるだけだろ?
0563nobodyさん
2009/12/15(火) 01:29:29ID:???どうせこのスレが伸びる時なんて
こんなことだろうと思ったけどwww
0564nobodyさん
2009/12/15(火) 01:34:43ID:???何の回答になっていないというかASP.NET AJAXを知らないようだから、
そのレスがあっただけでも意味があるんじゃないの?
>それじゃ回答として不足でしょ、ってみんな言ってるわけ
2chで十分とかあるわけないでしょうよ
0565nobodyさん
2009/12/15(火) 01:41:02ID:???言われたっけ?
レス主からは言われてないよな。
回答として不足とかレス主でもないのに文句たれてる人は言ったみたいだけど
0566nobodyさん
2009/12/15(火) 01:50:21ID:???>>475
相変わらず自分の都合のいいようにしか物事を解釈できないようで
ついでに言っといてやるが、WEBサービスってのはサーバ側の話で、元来AJAXとは無関係なんだがな
ただ、ASP.NET AJAX(Control Toolkit含めて)のなかには、WEBサービス前提の機能がいくつかあるんだよ
(つかWEBサービス云々はそういう流れででてきた話だと思ってたんだが、これは俺の深読みのしすぎか)
だから、WEBサービス利用とAJAX前提はなんら矛盾のない話だ
まあ、底が知れたんで俺はこれ以上この話題についてレスしない事にするわ
0567nobodyさん
2009/12/15(火) 08:31:08ID:???え?ASP.NET AJAXで解決できることを初めからわかってたと?
ならなんで質問してくるんだ?ここで。
いいからASP.NET AJAXを使ってみなさいって。
使えばわかるから。
ああこういうことなんだなって。
UpdatePanelとかの文字が出てこなかったからって指摘したことが、
顔真っ赤になるぐらい恥ずかしいことだってw
0568nobodyさん
2009/12/15(火) 10:29:58ID:???しかし、最近のゆとりは本当にひどいな
わざわざ、コントロールの使い方まで教えて貰わないと、教えたことにならないなんて
UpdataPanelなんてAJAX必須コントロールなんだから、教える必要なんてないだろ
それに、記事のコーディングレスなんてキャッチフレーズだ
そんなの信じるほうが狂ってる
おれも、AJAX利用すれば解決、後は普通に実装しろって返答しただろうな
あぶねーw
親切心から返答してるのに文句いわれちゃたまらねぇわ
0569nobodyさん
2009/12/15(火) 10:38:41ID:???0570nobodyさん
2009/12/15(火) 11:51:59ID:???0571nobodyさん
2009/12/15(火) 12:27:46ID:???0572nobodyさん
2009/12/15(火) 14:57:55ID:???>はい、ダウト。
>はい、ダウト。
おゆとり様かっけーw
0573nobodyさん
2009/12/15(火) 16:00:43ID:???GridViewのボタンクリック→ModalPopupExtenderでPanel表示
Panel上のボタンクリック→Panel閉じる
ってやってみたんだけど、ダイアログとして表示したPanelのボタン押して、
閉じようとすると同期PostBackしてしまうな。
別途、ただのボタンを設置して
ボタンクリック→ModalPopupExtenderでPanel表示でやると、
ポストバックせずただPanelが消える。
なんでだろ?
0575nobodyさん
2009/12/15(火) 17:33:29ID:???0576nobodyさん
2009/12/15(火) 18:19:44ID:???UpdatePanelをダイアログとして表示するPanelで囲み、
もう一つのUpdatePanelでそれ以外の部分を囲んでやると、
Postせずにデータを取得し、さらにPostせずにダイアログを非表示にできるっぽい。
実際のコーディングはこれだけ。
UpdatePanel.Update()も不要だし、ModalPopupExtender1.Show()は
ToolKitのサーバコントロールのメソッドなので、
事実上にはASP.NET AJAXのコードは一切書かなくていい感じかな。
//GridViewの行に設置されたボタンをクリックしたときに実行されるメソッド
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
//クリックしたGridViewのボタンの行を取得
int rows = int.Parse((string)e.CommandArgument);
//表示する詳細データの取得
//--ここで実際には、取得した行からID等を取得し、詳細データを取得する--//
//詳細データをコントロールに設定する
this.Label1.Text = DateTime.Now.ToString();
this.Label2.Text = rows.ToString();
//ダイアログの表示
this.ModalPopupExtender1.Show();
}
0577nobodyさん
2009/12/15(火) 20:30:29ID:???wwwwwww
ただ、「普通に実装」しただけで、できてるじゃん
昨日、あんだけレスしてた人が、まったく無反応なのにも笑えるwwww
0579nobodyさん
2009/12/15(火) 21:19:59ID:???0580nobodyさん
2009/12/15(火) 22:02:16ID:???画像を1行に1つ表示して選択させることはできるということは分かったのですが、
見た目を、例えば、チェックボックスと画像の対を3列×4行とかにすることはできるのでしょうか?
0581nobodyさん
2009/12/15(火) 22:11:12ID:???ここまでの奴はホント久々に見た。
0582nobodyさん
2009/12/15(火) 22:24:13ID:???もう一人いたよな
自分の不勉強を棚に上げて教えてくれ、ソースを示せの一辺倒だったやつ
0583nobodyさん
2009/12/15(火) 22:29:20ID:???普通にAJAX導入厨はスルー推奨
0584nobodyさん
2009/12/15(火) 22:33:43ID:???せっかくレポートしてくれた>>576のレスを読んだ?
AJAX使えばできるのは事実。
そこまでして自分が無知だったことを隠したいの?
0585nobodyさん
2009/12/15(火) 22:58:21ID:???○○したいのですが、どうすればいいですか?
↓
普通にAJAXを使えばできるよ?
↓
普通じゃわからない。ちゃんと返答すべき。
↓
分からないも何もAJAXを使えばわかるよ・・・
(ソースコードを書けとでもいうのかよ・・・)
↓
参考となるソースコードを載せたサイトが見つかる
↓
ほらAJAX使えばできるじゃん
↓
AJAXで使うコントロール名すら教えてくれなかった
それに使うメソッドも教えてもらっていない
そんなの教えたとは言わない。
しかもお前らはuasgdbwwsd.\.awl;lds;;
AJAX導入厨はスルーすべき
↓
(何この人・・・)←いまここ
0586nobodyさん
2009/12/16(水) 00:01:19ID:???0587nobodyさん
2009/12/16(水) 00:09:43ID:???0588nobodyさん
2009/12/16(水) 00:16:12ID:???お前さ、いい加減ウザイから消えろって言われてるのが分からないの?
0589nobodyさん
2009/12/16(水) 00:18:51ID:???お前だろ
0590nobodyさん
2009/12/16(水) 00:33:31ID:76TvUAig>>580
ListView使えば普通にゲフンゲフン
0592nobodyさん
2009/12/16(水) 00:49:11ID:???>>591
アドバイスありがとうございます。
GridViewでテストページを作成して実験に入ろうと思います。
迷ったときには、また、よろしくお願い致します。
0594nobodyさん
2009/12/16(水) 01:04:04ID:???普通にGridView置いて、GridViewのイベントをフックして画像とチェックボックスを置くだけじゃん。
それ以外にどんな書き様があるの?
0595nobodyさん
2009/12/16(水) 01:06:45ID:???Repeaterを使う選択肢はないのかな?
GridViewとかListViewとかは便利だけど応用が利かない事も多い。
Repeaterはベーシックなコントロールだから、
自分で作り込めばいろいろなことができるし、
あれこれ苦労して他のコントロールで実現するより
すっきり実現できることも多いよ。
0597nobodyさん
2009/12/16(水) 01:09:50ID:???GridViewを利用してチェックボックスと画像を表示するのは出来そうなのですが、
それを3列×4行のようにして、ページングも出来るようにするのは、ごりごりに
コードを書かないとだめなのでしょうか?
それとも、GridViewコントロールのフィールドを工夫するだけで出来るのでしょうか?
0598nobodyさん
2009/12/16(水) 01:12:39ID:???ごりごりに書かないとできません。
そういうことをやりたければListViewを使います。
なんか頭のおかしなのがウソ書いてるせいでわかりづらくなってるけど。
0599nobodyさん
2009/12/16(水) 01:17:45ID:???>そういうことをやりたければListViewを使います。
がーん。私のところの開発環境が2005なので、ListViewがありません…。
バージョンアップするか考えてみます。
ありがとうございます。
0600nobodyさん
2009/12/16(水) 01:22:10ID:???DataListでも似たようなのできたと思うよ
http://msdn.microsoft.com/ja-jp/library/cc439979%28VS.71%29.aspx#pdc_aspplus_topic4
0601nobodyさん
2009/12/16(水) 01:25:19ID:???貴方がお偉いことは重々分かりましたから。
>>599
ListViewはNET3.5以上じゃないと使えないから。
とりあえずRepeaterでいいんじゃない?Repeaterのほうが、最終的なHTMLを
意識しながら作りやすいと思うよ。
ページ換えは面倒かもね。元データがDataTableなら、ViewのRowFilter駆使
してページ単位で切り出す感じかと。
0602nobodyさん
2009/12/16(水) 01:27:27ID:???0603nobodyさん
2009/12/16(水) 01:33:42ID:???DataListのサンプル?ページ見ました。
>>601
Repeaterは使ったことがないのでググってみます。
たぶん、DataListもRepeaterもページングを自分で書かないとだめそうですね。
2008にバージョンアップするのが早い感じがしてきました。
0604nobodyさん
2009/12/16(水) 01:34:30ID:???実は判ってないか、質問が理解出来ていないかのどっちか。
0605nobodyさん
2009/12/16(水) 02:47:29ID:???列数も行数も固定なら、俺ならRepeaterすら使わないでやるかも
回しても4回か12回だしな。それぐらいなら自分でコントロールを配列に入れて処理する
どっちにしろページング周りは作りこみだしな
0606nobodyさん
2009/12/16(水) 03:36:52ID:???4行固定という訳ではないんですが、画像(サムネイル)のサイズが決まっていないので
だいたい、4行分しか領域がないかな?と思ったもので。
0607nobodyさん
2009/12/16(水) 14:27:42ID:???Repeaterでページングなんていつかやるだろうし、
いちど作れば使い回しできるし。
0608nobodyさん
2009/12/16(水) 22:08:23ID:???ASP.NETとAJAXって違いなんですか?
ASP.NETの中でもJAVASCRIPT使ってますよね?
0609nobodyさん
2009/12/16(水) 22:30:47ID:???ASP.NETもAjaxも分からない ○
0610nobodyさん
2009/12/16(水) 22:36:43ID:???ASP.NETというのは、フレームワークの一種で、
Windowsでプログラムを組むのに便利なライブラリと、
サーバサイドアプリケーションを作るのに便利に仕組みを統合したものの総称。
Ajaxとは、主にJavaScriptとxmlを使用したhttp通信を利用して、画面遷移をせず、
動的に画面を変更させる仕組みの総称。
xmlを利用したhttp通信(Webサービスの一種)はAjaxの重要技術で、
>>566は無関係と書いてるけど実際には間違い。
もっと掻い摘んでいようと、
ASP.NET サーバサイドアプリを作るための便利な仕組み
Ajax技術 画面遷移せずに(サーバからデータを取得し)画面を動的に変更する仕組み
ASP.NET AJAX サーバサイドアプリを作るためのライブラリにAjax技術を取り込んで、
画面遷移せず非同期に画面を変更する仕組み。ASP.NETにAjax技術を取り入れたもの。
という感じ。
0614nobodyさん
2009/12/16(水) 23:10:10ID:???0616nobodyさん
2009/12/17(木) 00:05:40ID:???正確には、toolkitの導入が必要なわけで。AJAX≠toolkit
0617nobodyさん
2009/12/17(木) 00:17:32ID:???それも間違い
あくまで「モーダルダイアログみたいなことをしたい」というのが要求定義。
それを実現できる方法として、ModalPopupExtenderを例に挙げたたが、これを仕様してとは一言も言ってない。
従って同じようなことができれば、問題ないわけで、代替手段はいくらでもある。
例えば、GridViewの下にDetailsViewを設置して詳細を表示し、その他のボタンをEnabled=Falseにするとか、
MultiViewを利用してViewを入れ替えでGridViewと詳細表示を入れ替えるなどが可能、
同様にPanelを利用してCSSのレイヤーを設定することで画面中央に表示させ、
必要ないサーバコントロールを非表示にするなど方法はいくらでもある。
あくまで要求定義の実現のためにModalPopupExtenderを使う必要はないわけで、
ModalPopupExtender導入が必要というのはまやかし。
従って、AJAXさえ導入すれば出来る。
0618nobodyさん
2009/12/17(木) 00:26:28ID:???0619nobodyさん
2009/12/17(木) 01:23:54ID:???なにかいじる度、ビルドで2分近く食われる。
ビルド時間ってみんなそれ位?
0620nobodyさん
2009/12/17(木) 01:38:47ID:???>MultiViewを利用してViewを入れ替えでGridViewと詳細表示を入れ替えるなどが可能、
>同様にPanelを利用してCSSのレイヤーを設定することで画面中央に表示させ、
>必要ないサーバコントロールを非表示にするなど方法はいくらでもある。
これのどこにAJAX使ってんの?
0621nobodyさん
2009/12/17(木) 01:59:29ID:???0622nobodyさん
2009/12/17(木) 02:11:01ID:???0623nobodyさん
2009/12/17(木) 02:27:00ID:???AJAX使ったことがないの丸わかり。
えーと、AJAX導入してるから使ってます。
0624nobodyさん
2009/12/17(木) 02:56:58ID:???つまり「AJAXを導入すれば出来る」と言う回答も大嘘で「別にAJAXを使わなくたって出来る」が
正解な訳ですねわかります
0625nobodyさん
2009/12/17(木) 02:57:46ID:???0626nobodyさん
2009/12/17(木) 02:58:30ID:???0627nobodyさん
2009/12/17(木) 03:04:37ID:???それではAJAXを使って、データを取得するという要求に反します。
>475 名前: nobodyさん [sage] 投稿日: 2009/12/13(日) 00:26:25 ID:???
>AJAX使って、クリックされたタイミングでデータを取得してページを部分書き換えしたいということです。
はい。論破。
↓次の言いがかりどうぞ。
0628nobodyさん
2009/12/17(木) 03:15:41ID:???0629nobodyさん
2009/12/17(木) 03:20:46ID:???というレスがケロンパ君から帰ってくるに100ケロンパ
0630nobodyさん
2009/12/17(木) 03:31:23ID:???0632nobodyさん
2009/12/17(木) 03:53:00ID:???可能不可能で言うなら、別にASP.NET AJAXやToolKit入れなくたって
普通に(笑) Javaスクリプト書けばできるんですが
AJAXを導入って、どういう意味で言ってるんですか?
0633nobodyさん
2009/12/17(木) 09:46:00ID:???>
>>475 名前: nobodyさん [sage] 投稿日: 2009/12/13(日) 00:26:25 ID:???
>>AJAX使って、クリックされたタイミングでデータを取得してページを部分書き換えしたいということです。
つまり、お前の中には質問者が最初からAJAX使用を念頭においてたと言う認識
はあるわけで
>>AJAXで実現できるのは初めからわかってる
>はい、ダウト。
>発言のどこを見れば、AJAXで実現できると初めからわかってるんだ?
というのは全く矛盾する発言だし、そもそも
Q: AJAXを使ってデータを取得したい
A: AJAXを導入すれば普通に出来ます。
と言う回答は頭が悪いと言うほかない。
0634nobodyさん
2009/12/17(木) 10:28:15ID:???実は本人はASP.NET AJAXやToolKitについてはほとんど知らないんだよ
だから突っ込まれると、普通にやればできるとか
お前らAJAX知らなかったんだろとかしか言えないと
かわいそうな人なんで、もうそっとしておきましょう
0635nobodyさん
2009/12/17(木) 11:57:02ID:???AJAX加減馬鹿は放置徹底
0637nobodyさん
2009/12/17(木) 13:28:18ID:???>>632
AJAXを導入なんて言ってないだろ。ASP.NET AJAXを導入とは言ってるみたいだがw
>>633
>A: AJAXを導入すれば普通に出来ます。
はいはい捏造捏造。
「ASP.NET AJAXを使えばできる」とは書いてあるが、AJA導入できますは作文だ。
意図的にASP.NET AJAXとAJAXを混同させて撹乱しようとしているだろ。
>>634
これだから教えて厨は困る。ガキじゃないんだから自分で調べろよ。
お前の言ってる理屈はこうだw
TextBoxに現在の日付を表示する方法を教えて下さい
→TextBoxにDateTime.Nowを表示させれば普通にできるよ。
→TextBox.TextやDateTime.Now.ToString()を教えていない。本人はTextBoxもDateTimeもほとんど知らない!!
→お前以外の人間全員唖然
0638nobodyさん
2009/12/17(木) 13:38:54ID:???本当に、ASP.NET AJAXを使ったことが、ないのではないだろうか
0639nobodyさん
2009/12/17(木) 14:46:11ID:???ウザイ
氏ね
0641nobodyさん
2009/12/17(木) 14:55:06ID:???→TextBoxにDateTime.Nowを表示させれば普通にできるよ
こんな回答ならいいんだがな
お前は自分がどう思ってるか知らんが
.NET Framework使えばできるよ 的回答しかできてないんだよ
別にお前に教えてもらわなくても、たぶんお前に突っ込んでるやつらは
お前よりASP.NET AJAXについて詳しいよ
教えてって言ってるんじゃなくて、お前は無知なんだから
中途半端な知識でしゃべるなって言ってるんだよ
0642nobodyさん
2009/12/17(木) 15:27:45ID:???最後の1行までと、最後の1行と、どうつながるの?
もしかして俺の思ってるAJAXとは違う定義で書いてるの? >617
0643nobodyさん
2009/12/17(木) 21:09:36ID:???>.NET Framework使えばできるよ 的回答しかできてないんだよ
ASP.NET AJAXって、もう「ほとんど」使えば実現できますじゃん。
マジでやってみればわかるよ。やらないからわからないだけだと思うけど。
有名サイト様も、コーディングレスで実装できる、プログラミングなしでAjax化と太鼓判。
ASP.NET AJAXならコーディングレスでAjaxを実装できる(前編)
http://itpro.nikkeibp.co.jp/article/COLUMN/20070817/279763/?ST=webdesign
ASP.NET AJAX ファーストルック
−ASP.NETアプリケーションをプログラミングなしでAjax化−
http://www.atmarkit.co.jp/fdotnet/special/aspajax/aspajax_01.html
それに本当に大事なのはScriptManagerのほうだろ。
上の参考サイトのソースコードにUpdatePanel.Update()があったから、
必要なコントロールとして例をあげてるだけだと思うが、
本当に使ったことある人ならScriptManagerをほうを先に指摘すると思うぞ。
いいか?使えばわかる。
0644nobodyさん
2009/12/17(木) 21:13:34ID:???お前の言ってることはこういう事だ。
売上伝票といった帳票を印刷したいのですがどうすればいいですか?
→個人で作るのは難しい。帳票印刷ソフト(製品名)とかの帳票ソフトを使えば普通にできるよ。
→それでは帳票印刷ソフト(製品名)の使い方を教えたことにならない。本人は帳票ソフト(製品名)をほとんどしらない!
→お前以外全員唖然
そういうコンポーネントやアドオンの存在すら知らない人なんだから、
その存在だけ教えれば十分だろ。
あとは、その存在を知った質問者が、その仕組みについて勉強すればいい。
勉強すれば、ScriptManagerやUpdatePanelも「絶対に」知る事になるからわざわざ教える必要なんてない。
自分で勉強せずに、すぐに実現できるソースコードを提示してくれなかったからといって、
逆切れして発狂する人間のことを「ソースくれ厨=教えてクレ厨」という。お前のことだ。
0645nobodyさん
2009/12/17(木) 21:44:41ID:???0646nobodyさん
2009/12/17(木) 21:52:08ID:???知らないテクノロジを教えて貰っただけでもありがたいのに、
もっと詳しく教えないからと逆切れするなんて・・・
0647nobodyさん
2009/12/17(木) 21:55:30ID:???今度から鳥とコテを付けるように。
0648nobodyさん
2009/12/17(木) 21:57:24ID:???自演がばれちゃうからな
0649nobodyさん
2009/12/17(木) 22:18:10ID:???ASP.NET AJAXはそれこそほんとにコーディングレスだろ
何が不満なんだ?
ほんとに使ったことがないのか?
0650nobodyさん
2009/12/17(木) 23:30:23ID:???0651nobodyさん
2009/12/17(木) 23:33:33ID:???これだからゆとりは嫌いだよ
0652nobodyさん
2009/12/18(金) 00:57:52ID:???0653nobodyさん
2009/12/18(金) 13:46:10ID:???0654nobodyさん
2009/12/18(金) 18:28:47ID:???2chで教え方が悪いと逆切れするとかもうね
0655nobodyさん
2009/12/18(金) 18:39:12ID:???0656nobodyさん
2009/12/18(金) 18:46:42ID:???0658nobodyさん
2009/12/19(土) 23:43:39ID:???0659nobodyさん
2009/12/20(日) 02:24:11ID:???本来表示されるべきウィンドウじゃない方にもう片方のレスポンス返ってくること無い?
完全にURLと表示されるべき内容が食い違ってるんだが原因がさっぱりだ
ウィンドウ1がA.aspxにポストバック、ウィンドウ2がB.aspxに非ポストバックでアクセス
→ウィンドウ1と2両方がB.aspxの内容に
っつー現象なんだが
0660nobodyさん
2009/12/20(日) 02:32:35ID:???別ウィンドウで開いたらそっちでは画面遷移せずMultiViewとかで切り替えで対処した。
0661nobodyさん
2009/12/20(日) 03:18:55ID:???ブラウザにかかわらず発生するのか?
俺はそんな現象にあたったことないが、ホントにそうなるならちょっと気になる
0662nobodyさん
2009/12/20(日) 12:05:58ID:???ポストバック時に、他のページのJavaScriptのデータを取得して、
サーバにPostしちゃうとしか考えられないような
B.aspxがA.aspxからTargetが_Blankや固定名などで表示されていて、
そちら側でClientScriptがA.aspxのwindowオブジェクトを取得して
何か操作しているとかいうことはない?
0663nobodyさん
2009/12/20(日) 12:31:07ID:???IEを開いてる状態で「New Window」でもう一枚画面を開くと、両方とも同じSessionIDで
処理される。同一プロセスでIEが動いてるから回避不可。
IEのアイコンクリックで別途画面を開いても問題が生じるなら別件だけど。
0664nobodyさん
2009/12/20(日) 12:48:04ID:???でもSessionIDが同じだからといって、ポスト先のURLまで変わってしまうもんなの?
0665nobodyさん
2009/12/20(日) 15:37:17ID:???>SessionIDが同じだからといって、ポスト先のURLまで変わってしまうもんなの?
サーバでセッション内容で何かやってれば不都合がでる可能性はあるが
_勝手に_違うページを表示するのはあり得ない
同一セッションの複数ウィンドウは普通にやってるがそんな現象に遭遇した事はない
非ポストバックっていうのは、ポストバックじゃなくて初回のgetって意味か?
俺も>>662と同意見で、クライアントスクリプトがおかしなことしてるんじゃないかと思う
自分でスクリプト書いてないなら、特定のコントロール使ったら起こるとか
ASP.NET AJAXとかControlToolkitとか使ったら発生するとか条件ないか?
ページ変遷あたりのコードを不適切に実装しなければ起こり得ないと思うんだが
現象の起きるコードとか出せないか?
0666nobodyさん
2009/12/20(日) 21:06:17ID:???同時にリクエスト投げるというのも、漠然としていてよくわからないよね
0667nobodyさん
2009/12/20(日) 21:39:58ID:???0668nobodyさん
2009/12/20(日) 22:17:24ID:???あえて煽り乗る。
同時にリクエストを投げるというのにも、いくつか可能性がある。
例えば、それぞれのウィンドウを手動で切り替えて、それぞれに設置されたボタンを手動でクリックするとか、
ClientScriptによってある時刻になったら同時にボタンをクリックするとか、
片方のページのボタンをクリックしたら、もう片方のボタンをクリックするClientScriptを実装するなどとか、
「普通」の方法はいくらでもある。
というか、いい加減に教えて君はもういいんじゃないか?
0671nobodyさん
2009/12/20(日) 23:15:28ID:???>普通にリクエスト投げているだけです。これ以上どう説明しろと?
いいからさ、
みんながいうとおりAJAXを使ってみなよ。
0672nobodyさん
2009/12/20(日) 23:24:15ID:???質問に対する回答としては、>510-511 のリンクを貼っただけで必要十分。
ソース云々は「どうせお前分かってないだろ?ソースの一つでも出してみろ」と言う意味で
言われてるだけで、回答としてソースが求められてた訳じゃない。
捏 造 乙
0674nobodyさん
2009/12/20(日) 23:43:50ID:???回答としてソースコードが求められていないのなら、
なんでUpdatePanelというコントロール名を書いていないことを問題視するんだ?
0675nobodyさん
2009/12/20(日) 23:52:13ID:???どっちもマジで病院で見てもらったほうがいいぞ。
病気だから。
0676nobodyさん
2009/12/21(月) 00:11:46ID:???自演見苦しい
0677nobodyさん
2009/12/21(月) 00:23:09ID:???再現しないんだ。 最小限のサンプル教えて。
A.aspxに ボタン2個おいて、一個は targetが B.aspxでいいのかな?
で、二個のウインドウでA.aspx表示して、それぞれボタン1、ボタン2押すでいいのか?
0680nobodyさん
2009/12/21(月) 13:01:41ID:???0681nobodyさん
2009/12/21(月) 14:50:23ID:???0682nobodyさん
2009/12/21(月) 16:10:38ID:???0683nobodyさん
2009/12/21(月) 16:17:43ID:???0684nobodyさん
2009/12/24(木) 10:26:51ID:???0685nobodyさん
2009/12/24(木) 12:34:20ID:???タグをクリックして反転させて設定。
VS2008
0686nobodyさん
2009/12/24(木) 12:50:23ID:???たとえばソースでボタンとか追加しても、一度デザイン画面にいかないとクリックイベントとか設定出来ないので
なんか出来ないのかなと。
0687nobodyさん
2009/12/24(木) 15:01:18ID:???htmlでサーバコントロールを選択した状態で、
プロパティインスペクタの「イベント」の表示ボタンをクリックするとできるよ。
ただ、ボタンをソースから挿入した直後とかは無理みたい。
何かのタイミングで暫くすると有効になるっぽいね。
確実なのは一度保存すると絶対に可能になるみたい。
Ctrl+Sキーで保存すると有効になる。
編集されると一時的にタグの解析が無効になるんじゃないかな。
んで何かのタイミングでhtmlのソースの解析が終わってイベントが設定できるみたいな。
0688nobodyさん
2009/12/24(木) 15:35:31ID:???でも、ビューコントロールの中においたボタンとかは駄目だった。
0689nobodyさん
2009/12/25(金) 17:29:07ID:pof26unnエラーが発生したページのインスタンスを取得する事って出来ないですか?
エラーが発生したページのマスタページ毎に処理をしたいのですが、
エラーページのインスタンスが取れなくて困ってます。
0690nobodyさん
2009/12/25(金) 17:31:24ID:pof26unn.NET Framework 3.5
VB.NET
です。
0692nobodyさん
2009/12/27(日) 02:17:27ID:???windows server 2008で動かそうとしています。
windows server 2003では動くのですが、
windows server 2008上ではExcel出力ができません。
Excelのブックを開こうとしたところで
「HRESULT からの例外です:0x800A03EC」というエラーになります。
回避方法はあるでしょうか?
0693nobodyさん
2009/12/27(日) 03:14:37ID:???0694nobodyさん
2009/12/27(日) 03:23:08ID:???0695nobodyさん
2009/12/27(日) 21:15:28ID:???フォルダつくれっってさ。
0697nobodyさん
2010/01/05(火) 01:24:59ID:0LFTGssC0698nobodyさん
2010/01/07(木) 11:58:45ID:Am1hSSDpMediaplayerコントロールを使用しているのですが、
データバインドして再生する動画データを指定する事は可能でしょうか?
0700なし
2010/01/07(木) 16:16:25ID:???データバインド<%# %>はASP.NETのサーバコントロールにしか使えなかったと思うぞ
実行時に動的に値変えたいだけなら、<%=変数%>で行けると思う
0701nobodyさん
2010/01/07(木) 17:37:28ID:???それなら、MediaSourceにメディアファイルのパスを指定するだけで
実現できるんじゃないかな?
http://www.atmarkit.co.jp/fwcr/rensai2/silverlight06/silverlight06_3.html
0702nobodyさん
2010/01/07(木) 17:39:11ID:???だから、わざわざ実行時バインドなんか使わなくても指定できると思う。
と、書いておきながらなんだけど、「データバインド」というのがイマイチ不明だな。
0703698
2010/01/08(金) 11:12:24ID:RDdQRMi8反応ありがとうございます。
PARAMタグ・・・activeXでの埋め込みの話じゃないでしょうか?
SilverrightでもPARAMタグの使用は可能なのですか?
>>700
反応ありがとうございます。
変数ですか、一度試してみます。
当方初心者なので出来るか不安がありますが・・・。orz
>>701
反応ありがとうございます。
@ITは私も利用しており、おっしゃる方法を以前に試しましたのですが、無理でした。
>>702
反応ありがとうございます。
そうですね・・・
データバインドという表現が間違っていたかも知れません。
具体的なお話をすると、
指定のフォルダに動画をアップロードし、
同時に、その動画ファイル名をSQLdbに登録。
それをgridviewでサムネイル表示させ、選択すると、
Mediaplayerで再生されるというシステムを作っています。
現在、サムネイル表示までは完成しているのですが、
Mediaplayerへの接続がうまくいかない状態です。
0704nobodyさん
2010/01/08(金) 12:10:48ID:???指定のフォルダに動画をアップロードしてあるのなら、
そのままそのパス名をMediaPlayerコントロールに設定するだけでは?
まずは、ちゃんとパスが通っているのか確かめたほうがいいよ。
サンプルを見ると↓みたいになっているからURLを記述するんだと思うけど、
サーバのHDD上の絶対パスで指定しているとか。
<a href="パス名">FILE</a>の記述でブラウザからダウンロードできるかとか。
<asp:MediaPlayer ID="MediaPlayer1" runat="server" AutoPlay="True"
Height="480px" MediaSource="~/Media/Silverlight.wmv" Width="640px" />
ひょっとしたらセキュリティの関係でファイルへのアクセルが禁じられている可能性もあるし。
0705nobodyさん
2010/01/08(金) 12:47:06ID:???環境はSiverlight2ですか?
Siverlight3だとデフォルトでは、<asp:silverlight><asp:MediaPlayer>は
使えないですから、<object>タグを使ってくださいって事になっているはずです。
>>704が言っているように、httpでアクセスできない場所にファイルがあるような気がしますね。
0706698
2010/01/09(土) 10:23:48ID:lCGOBp11返答ありがとうございます。
一度試してみましたが、セキュリティの問題は大丈夫でした。
>>705
返答ありがとうございます。
環境はSiverlight3です。
<asp:MediaPlayer>タグに関してですが、
は使用できるようにdllファイルを認識させて使えるようにしてあります。
少し調べていて、
データベースから指定の動画データを取得して返すHTTP ハンドラ(*.ashx)を作って、
それをSourceに指定すれば可能ということが分かりました。
HTTP ハンドラとか.ashxとかさっぱり意味不明ですが、少しやってみます。
ありがとうございました。
0707nobodyさん
2010/01/09(土) 12:11:19ID:???データベースに動画データを保存してるなら、最初からそういわないと・・・
>指定のフォルダに動画をアップロードし、
>同時に、その動画ファイル名をSQLdbに登録。
だから動画データはHDD上にファイルとして保存していて、ファイル名だけをDBに保存しているのかと思ったよ。
ASP.NETでやったことなくて、PHPやClassicASPではやったことあるけど、
filename.aspx?id=1みたいにGETで動画を取得するためのIDを渡して
ASP側ではそれを手がかりに動画データを取得。
ヘッダをheader("Content-type: video/x-ms-wmv");にして、
こんな感じで動画データを出力する感じ。
if ($stream = fopen($filepath, 'rb'))
{
while (!feof($stream))
{
print(fread($stream,1024*8));
ob_flush();
flush();
}
fclose($stream);
}
この例はPHPだからASP.NET用のを調べてみて。
ASP.NETでできるかどうかわからんけど。
0708698
2010/01/09(土) 14:52:56ID:lCGOBp11実は、最初は動画データはHDD上にファイルとして保存していて、
ファイル名だけをDBに保存していたのですが、
動画データ自体をバイナリデータ化した方が良いと指示を受け、
今朝変更したんです。
質問をしておきながら、現状報告を怠ってしまいすみませんでした。
アドバイスありがとうございます。
ヒントを元に調べて修正してみます。
0709nobodyさん
2010/01/14(木) 13:59:20ID:VstkAvluOJT中の課題で、SNSシステム的なものの習作を作っています。言語はC#です。
AccessDataSourceコントロールを使って、AccessのDBと接続し、ユーザー情報などを読み書きする仕組みで作っています。
ログインページやプロフィールページ、それぞれ別のaspxファイルに分かれていますが、
現状だと、それぞれでこのAccessDataSourceコントロールを配置し、同じmdbファイルをデータソースとして指定し、
それぞれのページでSQLを投げて読み書き。
問題無く動作してはいますが、こうやって同じコントロールを複数ページに貼る作り方は正しいですか?
なんか冗長しているように思えて。
もし複数ページにまたがって共通で使えるオブジェクトをどこかに作っておいて使いまわすようなことは可能ですか?
0711nobodyさん
2010/01/14(木) 16:50:10ID:???その辺はシステム全体の設計構想による
つか、OJTで疑問に感じたら、なぜ指導されてる上司や先輩なりに質問しない?
0712709
2010/01/14(木) 17:05:59ID:VstkAvlu先輩はみんな客先常駐ゆえ。
0713nobodyさん
2010/01/14(木) 18:49:46ID:???Accessでできるかどうかわからないけど、自分なら型付きDataSetをVSに自動生成させて、それを使うな
0714nobodyさん
2010/01/14(木) 19:45:44ID:???そして共通に使えるオブジェクトが作れるがどうか考えるの課題にして
そのオブジェクト作るの課題にして、使いまわするの課題にすれ
よかったな、課題がいっぱいできて
あ、質問に答えておこうw
>問題無く動作してはいますが、こうやって同じコントロールを複数ページに貼る作り方は正しいですか?
正しいかどうかは設計構想による
>複数ページにまたがって共通で使えるオブジェクトをどこかに作っておいて使いまわすようなことは可能ですか?
可能
0715nobodyさん
2010/01/16(土) 14:01:02ID:???特に >710。 >709 の質問に対してユーザコントロールとか頭弱いの?
>>709
何が正しいかは状況によるので正しい・正しくないを決め付ける事は出来ないが、作りとしてはダサい。
2〜3画面しかないような小さいソルートンなら有りだと思うけど、通常は
>複数ページにまたがって共通で使えるオブジェクトをどこかに作っておいて使いまわす
↑の方法を取るよ。DBアクセスだけ別クラスに分離させて、きちんと層を分けたほうがいい。
0716nobodyさん
2010/01/16(土) 14:49:40ID:???同じコントロールをっていうけど、それと、
共通で使えるクラスを使いまわすってのと同じだと思うけどな。
あ、オブジェクトを複数ページ間で使いまわす方ですか?
シリアライズしてDBに突っ込んどいてセッション使って使いまわすんでしょうか。
0717nobodyさん
2010/01/16(土) 15:22:45ID:???>713 名前: nobodyさん [sage] 投稿日: 2010/01/14(木) 18:49:46 ID:???
>Accessでできるかどうかわからないけど、自分なら型付きDataSetをVSに自動生成させて、それを使うな
少なくともこれは型付きDataSetのクラスを定義しておいて、
ページごとにそのクラスのインスタンスを生成して利用する方法じゃんね?
>>716
>あ、オブジェクトを複数ページ間で使いまわす方ですか?
>シリアライズしてDBに突っ込んどいてセッション使って使いまわすんでしょうか。
たぶんstatic変数を宣言して使い回ししてるんじゃね?ww
0720nobodyさん
2010/01/16(土) 19:31:19ID:???w
そう罵り合って互いに永久ループし続ける?ww
無知無能を棚上げして↓みたいなレスしたのが原因なんだろ?
>>710-714 の回答側が頭悪すぎてワロスw
>特に >710。 >709 の質問に対してユーザコントロールとか頭弱いの?
煽るセリフなんて要らないだろうが。なぜわざわざ煽ることするんだ?
ただ自分が思う回答をすればいいだけだろ。
いちいち煽るなんてのは社会性ゼロの奴がやることだ。
前回のソース示せ厨と同一人物なのは間違いないな
0721nobodyさん
2010/01/16(土) 19:32:32ID:???0722nobodyさん
2010/01/16(土) 20:44:11ID:???しかも見当違いだし
0723nobodyさん
2010/01/17(日) 00:39:29ID:???0725nobodyさん
2010/01/17(日) 17:39:33ID:???visual web developer 2008で、開発サーバーを使用して ASP.NET Web ページを表示すると、「ページを表示できません」的なエラーがでます。
多分502エラーだと思うんですが、↓この対応方法を試そうとしています。
ttp://msdn.microsoft.com/ja-jp/library/ms178120.aspx
ここの手順(プロキシサーバー設定)の
> 7.使用しているネットワークのアドレスとポート番号を指定し、〜
↑ネットワークのアドレスって何を指定すれば良いんですか?自分のPCのIPアドレス?
ちなみにDHCP設定です。
ポート番号は初期値80と入っていますが、それで問題ないですか?
あと、OSはWindows Vista Home Premium です。
よろしくお願いします
0726nobodyさん
2010/01/17(日) 17:45:11ID:???0727nobodyさん
2010/01/17(日) 18:59:11ID:???ポートについてはこの辺が詳しいんじゃないかな。
http://www.atmarkit.co.jp/fdotnet/dotnettips/701devserverport/devserverport.html
自分自身のPC上に仮想的なサーバを構築して、そこでASP.NETを動かすのが開発サーバの役目なんだが、
自分自身上で動いているので、自分自身にアクセスする必要がある。
んで、自分自身を表すIPアドレスとして127.0.0.1=localhostをローカルループバックアドレスを使うのが普通。
http://www.atmarkit.co.jp/fwin2k/win2ktips/803localhost/localhost.html
可能ならIISをインストして開発サーバじゃなくてIIS上でやったほうがいいと思う。
だけどHomePremiumだと、IISの使用に制限があったりして、デバッグ環境の構築が
ちょっと難しいんじゃなかったかな。
ノートで複雑なことしなくちゃいけなくて、VistaBuissnessを買えばよかったとちょっと後悔した記憶がある。
0729nobodyさん
2010/01/17(日) 21:45:18ID:???スタンドアロンならプロクシは関係なくないのかな?
0730725
2010/01/17(日) 23:10:33ID:???>>726
プロキシサーバーのアドレスに「localhost」「127.0.0.1」と書いてみましたが、ダメでした。
>>727
↓これを試しましたが、デバッグしても「ページが表示できません」になります。
@vwdのWebサイトのプロパティで「動的ポートの使用」=false、「ポート番号」=5000 (仮に)で固定
A次に、IEの「インターネットオプション」→「LANの設定」→プロキシサーバで、「アドレス」=localhost or 127.0.0.1、「ポート」=5000にする。
「ローカルアドレスには〜」にもチェックON。
何か間違ってますか?
>>728
>>729
プロキシは関係ないんですかね…msdnのサイトに載ってたので色々試してます。
ネットワークについては全然知識がありませんorz
0731nobodyさん
2010/01/17(日) 23:30:18ID:???これ絡みなのかな。
入力はlocalhostで良いかと。
0732nobodyさん
2010/01/17(日) 23:34:45ID:???htmlファイルも見えない?
0733nobodyさん
2010/01/17(日) 23:36:27ID:???まずははっきりさせて置いた方がいいと思うんだけど、
自分の使用しているPCでVisualStudioを動かせて、さらに開発サーバも同じPCでやろうとしてるんだよね?
>A次に、IEの「インターネットオプション」→「LANの設定」→プロキシサーバで、「アドレス」=localhost or 127.0.0.1、「ポート」=5000にする。
> 「ローカルアドレスには〜」にもチェックON。
そのままだと、自分のPCでは、とうぜんプロクシは動作していないから、表示できませんになると思う。
IEのプロクシ設定は何もしなくてokのはず。
0735725
2010/01/17(日) 23:50:20ID:???→そうです。自宅のおもにインターネットで使用する程度の個人PCにvwdをインストールして、動かそうとしています。
「デザイン」や「ソース」は普通に操作したり見たりできますが、ラベルに「Hello」と記述してデバッグすると表示できません。
ちなみに、今気づいたんですが、実行中でIEが「Internet Explorer ではこのページは表示できません」と表示している間にvwdの画面をみると、ソリューションエクスプローラのところに
errorPageStrings.js
httpErrorPagesScripts.js
という2つのjsファイルが表示されていました。
関係ないですかね・・・
0736nobodyさん
2010/01/18(月) 00:04:32ID:???http://blogs.msdn.com/webdevtools/archive/2009/03/13/asp-net-web-development-server-stops-working.aspx
C:\Windows\System32\drivers\etc\hosts
の
::1 localhostを
127.0.0.1 localhost に
0737725
2010/01/18(月) 00:14:15ID:???いろいろとすみません。
hostsファイルを確認してみたら、以下の2行が書かれていました。
127.0.0.1 localhost
::1 localhost
ためしに「#::1 localhost」としてコメントにしてみましたが、結果は変わりませんでした。
みなさん、アドバイスを本当にありがとうございます。
状況は変わりませんが、引き続き明日も試してみます。
また状況をお伝えに来たいと思います。
0738nobodyさん
2010/01/18(月) 00:29:10ID:???IEのプロクシ設定は元に戻した?
というか、へんなプロクシ設定したら、他のサイトをみようとしたときも
ページが表示されません的なページが表示されるはずだから、わかるか
0739nobodyさん
2010/01/18(月) 03:57:38ID:???開発サーバはローカルで使うものだが、IEがプロキシを使う設定になってると
loaclhostへの参照もプロキシを使おうとして表示できないって現象が起こる
>>730
お前のネットワークにプロキシがあって、IEがプロキシを使う設定になっていれば関係ある
そうでなければプロキシは関係ない
だから、まずお前の環境でプロキシを使ってるのかどうかはっきりさせろ
つぎに、ファイアウォール関係のソフト動かしてないか確認しろ
hostsファイルとかチェックするのはそのあとだ。普通はまず関係ない
0740nobodyさん
2010/01/18(月) 15:26:58ID:???あまりそういう現象にでくわしたことがない
0741nobodyさん
2010/01/18(月) 23:52:32ID:???が欲しいんですが、カスタムコントロールで作成可能でしょうか?
CheckBoxとHiddenコントロールを組み合わせて作ろうとしたんですが、なんかうま
くいきませんでした。
0742nobodyさん
2010/01/18(月) 23:56:46ID:???0743725
2010/01/19(火) 00:37:30ID:???>>730
プロキシは使わない設定でした。
そして、セキュリティソフトを一度アンインストールしてみました。
そうしたら無事に動作しました。
セキュリティソフトを再インストールしたら、再度デバッグで動作しなくなりました。
セキュリティソフトの「プロトコルフィルタリング」なるものを無効にしたら、デバッグから表示できるようになりました。
いろいろとありがとうございました。
本当に助かりました。
今後も参考にさせてもらいます。
0744nobodyさん
2010/01/19(火) 04:37:48ID:???そういうコントロールも作れば作れないことはないと思うが
オンでもオフでも値をpostするってことは、常に値をpostするってことだろ
その値のhiddenタイプのinput項目を作っとくだけじゃだめなのか?
チェックボックスは別の値で作っとけ
>>742
htmlフォームではチェックボックスはチェックされているときのみ値をpostする
つまりその値がpostされてるかどうかでチェックされてるかどうかを判定するんだよ
0745nobodyさん
2010/01/19(火) 08:50:22ID:???なにをしたいのか今ひとつわからんが
Postbackしてきたときに、プロパティをチェックするんじゃ駄目なのか?
checked=true/falseで判別がつくと思うんだが
0746nobodyさん
2010/01/19(火) 09:32:15ID:???0747nobodyさん
2010/01/19(火) 10:57:29ID:???javascriptなんかで、checkboxのvalueを動的に変更、
またはcheckboxそのものを動的に生成してるってことなんかね。
なんかその他の方法があるかもしれないけど、
今思いつくのはcheckboxの数だけhiddenfieldを設置して、
そこに値を入れておくな。checkboxのvalueはあくまでtrueやfalseを意味するものにしておく。
0748nobodyさん
2010/01/19(火) 15:20:20ID:???俺にも何がしたいかいまいちよくわからんが、可能性がありそうなのは
ポストバックじゃなくて別のhtmlページにPostしたいとかじゃないかと
本人がもうちょっと詳しく説明してくれればいいんだが
>>746
AutoPostBackはただ単に、チェックボックスをチェックしたり外したときに
自動的にPostさせる機能
チェックを外したときにPostは実行されるが、そのPostされたデータに
チェックボックスの値は含まれていないわけだよ
0749741
2010/01/19(火) 21:24:12ID:???CheckBox(runat=serverを書かない)とHidden(runat=serverを書く)を必ず対で配置
して、CheckBoxのonclickでJavaScriptでHiddenの値を書き換えて、submitされたら
Hiddenの値でCheckBoxのON/OFFを読み取る、というのは普段やっている手段です。
ただ、これを1つにまとめたカスタムコントロールが作れないものかと思ったので。
>>745
事情があって、Context.Response.Paramsの中にチェックオフの値を返したいんです。
コントロールのプロパティを参照するというのが訳あって出来ないので。
0750nobodyさん
2010/01/19(火) 23:14:27ID:???それだと想定外だったから、イマイチよくわからないな・・
0751nobodyさん
2010/01/19(火) 23:25:48ID:???全部のチェックボックスなめればいいんじゃないの?
0752nobodyさん
2010/01/20(水) 00:21:52ID:???JavaScriptはガリガリ書かないと駄目かな
0755nobodyさん
2010/01/20(水) 15:01:06ID:???こんなユーザコントロールを作って、
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="TestUserControl.ascx.cs" Inherits="TestUserControl" %>
<input id="<% this.GetOwnerName(); %>_CheckBox1" type="checkbox" onclick="CheckBoxClicked('<% this.GetOwnerName(); %>')" />
<asp:HiddenField ID="HiddenField1" runat="server" />
public partial class TestUserControl : System.Web.UI.UserControl
public void GetOwnerName()
{
Response.Write(this.ID.ToString());
}
0756nobodyさん
2010/01/20(水) 15:01:54ID:???JavaScriptに関してはファイルにまとめておいてincludeするようにすれば使い回しできるし。
<head runat="server">
<script type="text/javascript" src="jquery-1.4.js"></script>
<script type="text/javascript">
function CheckBoxClicked(controlName) {
if ($("#" + controlName + "_CheckBox1")[0].checked) {
$("#" + controlName + "_HiddenField1")[0].value = "true";
}
else {
$("#" + controlName + "_HiddenField1")[0].value = "false";
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<uc1:TestUserControl ID="TestUserControl1" runat="server" /><br />
<uc1:TestUserControl ID="TestUserControl2" runat="server" /><br />
</form>
</body>
>>753
クスクス
0757nobodyさん
2010/01/20(水) 15:06:48ID:???$("#" + controlName + "_HiddenField1")[0].value = $("#" + controlName + "_CheckBox1")[0].checked;
0759nobodyさん
2010/01/20(水) 22:08:23ID:???こんな感じでどうだ
Public Class CheckBoxR
Inherits System.Web.UI.WebControls.CheckBox
Property UnCheckedValue() As String
Get
Return CStr(ViewState("UnCheckedValue"))
End Get
Set(ByVal Value As String)
ViewState("UnCheckedValue") = Value
End Set
End Property
Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
Me.Attributes.Add("onclick", String.Format("{0:s}.value=({1:s}.checked)?'':'{2:s}';", Me.ClientID & "_UnChekedField", Me.ClientID, Me.UnCheckedValue))
MyBase.Render(writer)
writer.Write("<input type='hidden' id='" & Me.ClientID & "_UnChekedField' name='" & Me.ClientID & "_UnChekedField' ")
If Me.Checked Then
writer.Write("value='' />")
Else
writer.Write("value='" & Me.UnCheckedValue & "' />")
End If
End Sub
End Class
これでUnCheckedValueプロパティに値を指定しておけば、チェックオフのsubmit時に
指定された値が含まれるようになる....ような気がする
これで完全なポトペタでOK!なはず
0760nobodyさん
2010/01/20(水) 22:27:26ID:???お、そのほうがいいんじゃね?
そうか、CheckBoxのOnClickに、そのままJavaScriptで書き込んでしまえばいいのか。
自分は同じScriptが何度も記述されるのが嫌だったので、別途functionを別途容易しちゃったけど、
簡便さではそのほうがいいかもしれん
0761nobodyさん
2010/01/21(木) 03:54:24ID:???0762nobodyさん
2010/01/21(木) 07:45:31ID:???0763nobodyさん
2010/01/21(木) 15:38:25ID:???VWDで Default.aspx に LoginView1 を配置し、LoggedInTemplate の中に label1 を配置しました。
Default.aspx.cs で、label1 にアクセスしたかったのですが見えません。
LoginView1.LoggedInTemplate. としても label1 は見えません。
どうすれば label1 にアクセスできますか?
0764nobodyさん
2010/01/21(木) 17:52:19ID:???if (myLabel != null)
myLabel.Text = "test";
0766nobodyさん
2010/01/26(火) 19:29:34ID:tqAuz1f1この状態で、デフォルト値の設定したいのですが
どうすれば可能でしょうか。
0767nobodyさん
2010/01/27(水) 00:17:23ID:???0768nobodyさん
2010/01/27(水) 11:41:52ID:idsxMd/1ごめん見てなかった。普通にできた。
んじゃあ、例えば、
Gridviewとかで選択した項目を
formviewINSERTのデフォルト値として反映させたい場合はどうすればいいの?
探したが文献見つからん。
トーシローなんでお手柔らかに教えて下さいエロい人。
0769nobodyさん
2010/01/27(水) 13:07:27ID:???実行されるメソッドの引数にボタンクリックされた行数が格納されてるから、
それをキーにデータ取得して表示させればいいんじゃね?
0770nobodyさん
2010/01/27(水) 16:33:13ID:???10日でおぼえるASP.NET3.5入門教室 という本をやりました。
雰囲気はつかめましたが、まだまだ何か作れるという感じはしません。
次は何に取り組めばよいでしょうか?
0771nobodyさん
2010/01/27(水) 16:39:42ID:???とりあえず何かを苦労して作ることが一番大事だと思う。
その過程で分からない事が山のように出てくるはずだからね。
まずは、Webアプリ系としてはDBを使用したゲストブックが無難かな
投稿できて、最新の投稿から順番に並んでるみたいな。
0772768
2010/01/29(金) 16:47:09ID:???やってみたができん・・・・。
ググっても本屋でも文献見つからん・・・・。
とりあえず、Gridviewで選択。
選択した内容をformViewのinsertModeのそれぞれのTextBoxに初期値として飛ばしたいが、
わかる人いないか?
教えてエロい人
0773nobodyさん
2010/01/29(金) 18:43:10ID:???そうすると SelectedIndexChangen んが出るんで、
そんなかで GridView1.SelectedRow なり好きなもの使って好きにやれ。
0774nobodyさん
2010/01/29(金) 20:00:37ID:???>選択した内容をformViewのinsertModeのそれぞれのTextBoxに初期値として飛ばしたい
なんとなくSelectedRowからFIndControlして値を取り出す予感がするので一応。
GridViewの選択行からキーとなる項目を取り出してSELECT文を発行、
戻り値のDataTableなりなんなりをFormViewにバインドって流れな。
0775768
2010/02/01(月) 10:08:13ID:???ありがとう、一応、FIndControlを指定してやって、
GridViewで選択してやれば、formViewのinsertModeに
TEXT(DB関係なし)を飛ばせるとこまではどうにかできたんだけど・・・・。
こんな感じ。
Protected Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridviewPageEventArgs) Handles GridView1.PageIndexChanging
If FormView1.CurrentMode = FormViewMode.Insert Then
Dim tb As TextBox
tb = CType(FormView1.FindControl("NameTextBox"), TextBox)
tb.Text = "Name"
tb.Enabled = True
End If
End Sub
このtb.Text = "Name"の"Name”の部分にデータを指定してやれば良いの?
あとさ・・・。
SELECT文を発行、戻り値のDataTableなりなんなりってのが
いまだに本読んでもイマイチ理解してなくて。
そこらへんの内容を学べる本とかサイトとか教えてくれるとありがたい
0776nobodyさん
2010/02/01(月) 16:47:32ID:???まず読め。初心者向けの良い本だ。
0777nobodyさん
2010/02/01(月) 18:53:47ID:???TableAdapterの自動生成ウィザードまじお勧め
http://www.atmarkit.co.jp/fdotnet/vs2005db/vs2005db_07/vs2005db_07_01.html
http://msdn.microsoft.com/ja-jp/library/7zt3ycf2.aspx
http://msdn.microsoft.com/ja-jp/library/ms379590%28VS.80%29.aspx
0778768
2010/02/01(月) 19:30:00ID:???こんな学生相手に皆親切にしてくれてありがとう・・・。
とりあえず読んでがんばてみるお!!
Microsoft Visual Studio 2005によるWebアプリケーション構築技法
って本についてだが、今使ってんのVS2008なんだけど応用できるかね?
まあそれ以前に解読できるかが問題だが・・・・。
あと、このスレの今までの内容見てて思ったんだが、
Formviewを使わないで表示とかできちゃうもんなの?
0779nobodyさん
2010/02/01(月) 19:49:00ID:???>って本についてだが、今使ってんのVS2008なんだけど応用できるかね?
基本的な仕組みは変わってないから役立つんじゃない?
VS2005の機能でも十分に事足りてるし、VS2008ではC#3.5とASP.NET AJAXの機能ぐらいしか使ってないな。
>Formviewを使わないで表示とかできちゃうもんなの?
自分はデザインやClientScriptの関係からFormViewはほとんど使わない。
コントロールを手動で配置して、手動でデータを取得して表示させてる。
GridViewなんかもほとんど使わないな。
基本的なコントロールとRepeaterで事足りてる。
0780768
2010/02/02(火) 18:36:31ID:???読んで実践して、なんとなく理解しました。
MSDNの関連記事も読んだけど、どんどん内容が枝分かれするせいか、
混乱してきて・・・これ結構読み込まないと厳しいですね頑張ります。
ありがとう。
>>779
これすごい。
実際、FormViewとかGridViewなんかより
自由度高いから極めたらいろいろ応用できそう。
Repeaterで作ってみたんだけど、今まで悩んでた、
formview,insertでのデフォルト値の問題に関しては解決できそうです。
ただ、Repeater内で記入した内容をデータベース(SQL)に挿入するってのは可能なんでしょうか?
一応、こんな記事を見つけたんだけど、これを応用してどうにかできないですか?
http://www.c-sharpcorner.com/UploadFile/Mike%20Clark/PageI09042007215545PM/PageI.aspx
0781nobodyさん
2010/02/02(火) 19:23:36ID:???Repeaterに
<asp:TextBox ID="tbEditName" Columns="80" Text='<%# this.GetColumnData(Container, "Name")%>' runat="server" style="ime-mode: active;" OnFocus="this.select();" ></asp:TextBox>
<asp:Button ID="DeleteButton" runat="server" Text="削除" CommandArgument='<%# this.GetColumnData(Container, "ID") %>' CommandName="Delete" OnClientClick="return confirm('削除しますか?');" />
<asp:Button ID="EditButton" runat="server" Text="編集" CommandArgument='<%# this.GetColumnData(Container, "ID") %>' CommandName="Edit" />
みたいにTextBoxとButtonを設置して、CommandArgumentに設定されたIDから、データベースのIDを取得できる
ID取得したらRepeater内にあるコントロールをナメて、同じIDを持つ行を取得して、
その行にあるTextBoxから入力内容を取得して更新すればいい。
for (int i = 0; i < this.rptTikuMaster.Items.Count; i++)
{
RepeaterItem ri1 = this.repeater.Items[i];
TextBox tbEditName = (TextBox)ri1.FindControl("tbEditName");
int editedID = int.Parse(lblEditID.Text);
if (editedID == ID)
{
//IDが一致したらデータを取得してSQLを更新する
break;
}
}
これはRepeater内にTextBoxを設置したパターンだけど、
別途Repeaterの外部にTextBoxを設置しておいて、
そこにRepeaterの編集ボタンを押した行のデータを表示させて、
編集さぜて保存するという方法もある。
0782nobodyさん
2010/02/02(火) 19:59:54ID:???0783nobodyさん
2010/02/02(火) 20:10:06ID:???webなんてだいたい設計者によって、新規追加、編集、削除の画面遷移パターンが数パターンしかないからな
0784nobodyさん
2010/02/02(火) 21:14:13ID:???0785nobodyさん
2010/02/02(火) 21:24:13ID:???質問なんですが、
サーバ側のC#だと、XmlDocumentやらArrayListやらのクラスを利用できるのですが、
クライアント側のC#だと、ライブラリ参照とかusingとか指定しても利用できないみたいなんですが
そーいう仕様なのでしょうか?
XmlDocumentとArrayListはけっこう頻繁に使用されるクラスだと思うのですが、クライアント側で使えないってのはけっこうダメージがでかいです。。。
0786nobodyさん
2010/02/02(火) 21:39:41ID:???0787nobodyさん
2010/02/02(火) 21:43:07ID:???>クライアント側のC#だと、ライブラリ参照とかusingとか指定しても利用できないみたいなんですが
ブラウザで動作するJavaScriptとかのこと?
なら使用できないね。
独断的に言わせてもらえば、サーバ側はマイクロソフト製品だからなんとでもできるけど、
ブラウザはオープンな規格だからマイクロソフト仕様でそのまま使えることはない。
0788nobodyさん
2010/02/02(火) 21:48:09ID:???クラ側をSilverlightで作成してて、言語はC#とザムルです。
クラ側のイベント処理がC#なんですが、なぜかXmlDocumentやArrayListが使用できない。
using System.Collections;
using System.Xml;
などは勿論指定しております。
0789nobodyさん
2010/02/02(火) 21:53:22ID:???やっぱりsilverlightだったのか
XML関連に関しては
>.NET Framework と .NET Framework for Silverlight での XML 処理の違い
>http://msdn.microsoft.com/ja-jp/library/cc189053%28VS.95%29.aspx
を参照
ArrayListはジェネリクスのサポートで重複するからSilverlightでは削除されたはず。
0792nobodyさん
2010/02/06(土) 18:22:22ID:???0793nobodyさん
2010/02/06(土) 18:25:29ID:???0794nobodyさん
2010/02/06(土) 22:14:49ID:???0795nobodyさん
2010/02/08(月) 11:59:25ID:???UpdatePanelの読み込みが完了した時に
JavaScriptを走らせることはできませんか?
画面全体がリフレッシュされないため、
スクリプトが実行されていないようです。
どうかお願い致します。
0797nobodyさん
2010/02/08(月) 14:48:26ID:???あるゆる非同期更新後に常に実行させたいわけでなく、
特定のイベントでの非同期更新のみに実行させたい場合には、こっちのほうがいいかも。
0798795
2010/02/08(月) 14:58:18ID:???うまく動きました。
こんなに簡単に実現できるなんて思いませんでした。
ありがとうございます。
0799nobodyさん
2010/02/09(火) 01:52:06ID:???0800nobodyさん
2010/02/09(火) 07:24:23ID:???0801nobodyさん
2010/02/09(火) 21:56:28ID:???0803nobodyさん
2010/02/11(木) 18:37:11ID:???0804nobodyさん
2010/02/12(金) 17:29:01ID:???こんなカレンダーを作るにはどうしたらいいのでしょうか・・・
┌─┬─┬─┬─┬─┬─┬─┐
│日│月│火│水│木│金│土│
│□│□│□│□│□│□│□│
├─┼─┼─┼─┼─┼─┼─┤
│ .1│ .2│ .3│ .4│ .5│ .6│ .7│
│□│□│□│□│□│□│□│
├─┼─┼─┼─┼─┼─┼─┤
│ .8│ .9│10│11│12│13│14│
│□│□│□│□│□│□│□│
├─┼─┼─┼─┼─┼─┼─┤
│15│16│17│18│19│20│21│
│□│□│□│□│□│□│□│
├─┼─┼─┼─┼─┼─┼─┤
│22│23│24│25│26│27│28│
│□│□│□│□│□│□│□│
├─┼─┼─┼─┼─┼─┼─┤
│29│30│31│ │ │ │ │
│□│□│□│ │ │ │ │
└─┴─┴─┴─┴─┴─┴─┘
※□はチェックボックスです。
実装したい機能としては
・年月を指定するテキストボックスを設け、ボタンを押したら指定した年月のカレンダーが表示される
・曜日の項目にあるチェックボックスをON/OFFすることで、同じ曜日のチェックボックスを一括でON/OFFできる
asp.netに標準であるカレンダーでも実現可能でしょうか。
不可能な場合、どのようにすれば実現できるでしょうか。
0805nobodyさん
2010/02/12(金) 21:40:06ID:???このへん使って似たようなの普通に作れたような気がする
http://www.atmarkit.co.jp/fdotnet/dotnettips/277aspcalceldata/aspcalceldata.html
http://www.atmarkit.co.jp/fdotnet/dotnettips/337aspcalendarsel/aspcalendarsel.html
http://www.atmarkit.co.jp/fdotnet/dotnettips/575aspajaxcalendar/aspajaxcalendar.html
0806nobodyさん
2010/02/12(金) 23:53:19ID:???0807nobodyさん
2010/02/13(土) 00:34:26ID:???0808nobodyさん
2010/02/13(土) 01:56:32ID:???お前の失点は、他人のレスを論ったこところで挽回できるもんじゃないんだぞ?
負けて口惜しかったなら、まともなレスをして見返すぐらいしろよ。
いい加減目を覚ませよ。
0809nobodyさん
2010/02/13(土) 06:49:05ID:???DayRenderではイベントを発生させるコントロールは追加できないらしい
ためしにCheckBox追加してみたが、表示はされるがイベントがハンドリングされねえ
クライアントスクリプト仕込むとかでなんとかする方法もないではないだろうけど
どっちにしろ曜日のヘッダー部ではDayRenderは発生しないようだ
ということで、俺なら自分でカレンダーすべてレンダリングするコントロールを自作するかな
0810nobodyさん
2010/02/13(土) 18:48:32ID:???また例によってAJAX使用禁止とか訳分からん縛りでもあるのか?質問者は
何が聞きたいんだ?
0811nobodyさん
2010/02/13(土) 18:57:21ID:???0813nobodyさん
2010/02/13(土) 22:56:57ID:???0814nobodyさん
2010/02/14(日) 01:16:41ID:???つーかソース教えろ厨マジうぜー
0815nobodyさん
2010/02/14(日) 01:48:51ID:???0816nobodyさん
2010/02/14(日) 11:50:09ID:???つか自分からNG設定するぐらいなら、はじめからスレにこなければいいのに
0817nobodyさん
2010/02/14(日) 15:40:48ID:???0818nobodyさん
2010/02/14(日) 15:52:53ID:???0819nobodyさん
2010/02/14(日) 23:40:57ID:???0820804
2010/02/15(月) 09:22:24ID:???やはり普通のカレンダーコントロールでは難しそうですね・・・。
自作コントローラを作る場合、どのようにすればいいのでしょうか。
まだasp.netに触れて日が浅いもので・・・。
>>810
AJAXもいまいち理解できていないので、ピンときてません。
AJAXを使えば実装できるのでしょうか。
0821nobodyさん
2010/02/15(月) 12:50:57ID:???このスレには「回答にはすべてソースを付記しないと回答したことにならない厨」(通称ソース教えろ厨)という馬鹿がいて、
そいつがAJAXという技術を知らなくて馬鹿にされたので、
AJAX使えば何でもできるという印象操作をしているだけなので無視してください。
ソース教えろ厨が、ご迷惑をおかけしておりますが、よろしくお願いいたします。
0822nobodyさん
2010/02/15(月) 13:30:32ID:???IIS6.0でASP.NET2.0用のWebアプリを提供しています。
その中でglobal.asaxを使用してフォーム認証を併用した独自の認証とログ採取を行っています。
ここにperl製のパッケージを同居させることになりました(お客様の御意向なのでパッケージの内容は詳しくありません)。
Active Perlで動作するようなのですが、global.asaxとどうすれば同居できるのか分かりません。
例えば、拡張子plにperl.exeを設定するとaspnet_isapi.dllで呼ばれるglobal.asaxが動かないため、直接アクセスできる上にログも取られません。
拡張子に複数のアプリケーションを構成することもできないため、perlの実行とglobal.asaxの実行を両方ともおこなう方法が想像つきません。
最終的には下記の流れを実現したいです。
1.クライアントからperlページのHTTPリクエストを受ける
2.perl.exeでperlページを処理する
3.aspnet_isapi.dllでglobal.asaxを処理する(認証とログを処理)
4.HTTPレスポンスを返す
どのように設定するかどなたかお分かりになりますか。
0823822
2010/02/15(月) 13:32:58ID:???また、流れの2と3は逆でも構いません。
0824nobodyさん
2010/02/15(月) 16:13:12ID:???aspxでperlのほうにリダイレクトして、
perl側でリダイレクトじゃなければエラー吐くみたいな
処理ならできるのかもしれないけど
0825nobodyさん
2010/02/15(月) 18:12:02ID:???ASPでフォーム認証するにはどうすればいいでしょうか?
参考になるサイトがありましたら教えてください。
0826nobodyさん
2010/02/15(月) 21:37:31ID:???テキストボックスに(ロード時やタブの切り替え時に)
フォーカスをセットする方法をおしてください。
通常のPanel上に配置されたテキストボックスには
フォーカスがセットされるのですがTabContainerコントロールに配置した
テキストボックスにフォーカスをあてる事ができずに困っています、
どうか良いご回答をおねがいしますm(__)m
0827nobodyさん
2010/02/15(月) 22:00:35ID:???ASP.NET的なフォーム認証の仕組みは無い
ASPでやるならCookieとSessionとglobal.asa使って自力で同じようなもんを実装するくらいか
0832nobodyさん
2010/02/16(火) 12:40:45ID:???0833nobodyさん
2010/02/16(火) 13:48:49ID:???正常に終了した場合、このダイアログを閉じたいんだけど
window.close()をどのようにして指定すればいいんでしょう。
0834nobodyさん
2010/02/16(火) 20:15:09ID:???パールの呼び出しはCGI経由なのか?
CGI全部自分で処理するカスタムHTTPハンドラつくって、その中でパール呼び出せばできるような気がする
できるかどうか詳しく検証してないからできないかもしれない
--ここから余談
できても俺ならやりたくない。つかやらない
認証を共通でやりたいなら、パッケージ側に認証の連動機能を要求する
パッケージのログはパッケージの機能で採取してもらう
外部のパッケージ使うならそういう割り切りが必要だと思う
0836834
2010/02/16(火) 22:12:28ID:???ASP.NET使って普通にやればできるよ
って回答だろう
あれと一緒にされるのは非常に心外だな
0837nobodyさん
2010/02/16(火) 23:38:27ID:???お前のセリフじゃないか
できるのならソースを示せ
0839nobodyさん
2010/02/17(水) 10:35:42ID:???0840nobodyさん
2010/02/18(木) 18:07:25ID:???DropDownListの値を使用して、GridViewの表示を変えるシステムを作っているのですが。
DropDownListに全件表示の選択を加えたいと、考えています。
この場合、DropDownListの全件表示プロパティのvalueには、なんと書いたら良いのでしょうか?
0841nobodyさん
2010/02/18(木) 18:16:51ID:???としても、GridViewのデータをどうやって作ってるかによるので答えようがないです。
10とか20とかで動いてるなら全件数でもいれとけば。
0842840
2010/02/18(木) 18:49:24ID:???DropDownListでDBの検索条件を指定して検索、結果をGridViewで表示するシステムです。
DropDownListの中身はDBから引っ張ってくるため、力技だと不都合が出てしまいます。
DBの内容としては、下記のようなものを使用しています。
id / 名前 / 性別 / 血液型 / 出身地
性別、出身地の2つを選んでもらい、検索結果を表示します。
0843nobodyさん
2010/02/18(木) 22:00:17ID:???sqlの条件の所 (syussin = @syussin) みたいな所を
( @syussin IS NULL OR syussin = @syussin ) とやったことあったな。
0844nobodyさん
2010/02/18(木) 22:59:09ID:???where 性別 = isnull(@sex,性別) and 出身地 = isnull(@home,出身地) でいい。
全件検索は@sex = null、@home = nullでとれる
0845840
2010/02/19(金) 10:54:36ID:???お二方のアドバイスを参考に、SQLを改変してみましたが、該当データなしとなります。
SELECT ID, name, sex, blood, hometown FROM Table1 WHERE (@sex IS NULL OR sex = @sex)
と入れても、
SELECT ID, name, sex, blood, hometown FROM Table1 WHERE (@sex = NULL) OR (sex = @sex)
と改変されてしまいます。
そして、sex = nullとして検索すると、該当データなしとなります。
また、
where sex = isnull(@sex,sex)
でも同じ結果でした。
必須という訳でもないので、私にはできないという方向で、検討していこうかと思います。
アドバイスありがとうございました。
0847nobodyさん
2010/02/19(金) 23:45:42ID:???なら、nullあきらめて、ありえない値にしとけば
@sex = 'both' にしとくとか
0848nobodyさん
2010/02/20(土) 02:13:33ID:???まず、ドロップダウンに設定する値はなんでもいい。俺なら空文字列設定する
そして、検索するときにその値をチェックする
動的にSQL作ってるなら検索条件変えるだけだし、>>843,844が言うようなSQLを設定してるなら
パラメータにNULLをセットする
DBでいうところのNULLってのは"NULL"って文字列じゃないぞ
0849nobodyさん
2010/02/20(土) 05:49:04ID:???最近LINQばかりでよく覚えてないや
0850nobodyさん
2010/02/20(土) 12:55:41ID:???DBで言うところのNULLを表すためにDBNullクラスがある
パラメータにNULLをセットするってのは、DBで言うところのNULLをセットしろってことだろ
C#のnullをセットするってことは値をセットしないこととほぼ同義だぜ
0851nobodyさん
2010/02/20(土) 17:42:04ID:???GridViewとDropDownListを連動させて検索するとか
型どおりの動作は簡単にできるけど、ちょっと細かく挙動を変化させたりとかできないし。
自分ならDropDownListに各種項目(valueは各種項目のデータのid)と「全件表示」項目(valueは0)を表示させるユーザコントロールを作るな。
で、DataSetで全件のデータを取得して、Selectメソッド(またはLinq)でデータを抽出してGridViewにデータバインドさせるか、
DropDownListの選択具合によってASP.NET側で動的にSQLを生成してクエリを発行するか、
SQLのテーブル値関数でクエリを生成してデータを返す。
0852nobodyさん
2010/02/20(土) 20:27:20ID:???0853nobodyさん
2010/02/20(土) 20:43:38ID:???0855nobodyさん
2010/02/20(土) 22:58:34ID:???ソースプリーズ
0856nobodyさん
2010/02/20(土) 23:07:08ID:???頭の悪い回答ですね(クスッ
854 名前: nobodyさん [sage] 投稿日: 2010/02/20(土) 22:42:45 ID:???
AJAX君にしてはキレの悪い突っ込みですねw
やっぱり意味ないレスで人を煽るのは、ソースくれ厨か
0857nobodyさん
2010/02/21(日) 00:17:19ID:???ManagementStudioで
SELECT ID, name, sex, blood, hometown FROM Table1 Where sex = sex AND hometown = hometown
を実行してみてよ。
手打ちするのではなく、上のSQLをコピペして実行してね。
0858nobodyさん
2010/02/21(日) 00:47:36ID:???0859nobodyさん
2010/02/21(日) 04:00:45ID:???まぁ確かに>>845に対するレスってのが一瞬掴めなくて、
いきなり何言ってるんだとは思ったが。
0861nobodyさん
2010/02/21(日) 22:14:43ID:???0862nobodyさん
2010/02/21(日) 23:29:31ID:???AJAXクンはSQLServer触った事ないのか。
0863nobodyさん
2010/02/22(月) 00:09:53ID:???858 名前: nobodyさん [sage] 投稿日: 2010/02/21(日) 00:47:36 ID:???
文字ならシングルクォーテーションで括ろうぜ AJAX君
0864nobodyさん
2010/02/22(月) 00:24:50ID:???たぶん、こういうのやりたいんでしょ
http://jsajax.com/aspGridView/Chapter1/ch1-14.aspx
それをコーディングレスでやりたいから、データソースの構成ウィザードで設定する、
SELECTステートメントのクエリの書き方が知りたいということだと思う。
だから、クエリそのものの使い方や回答をしても意味がないと思うよ。
0866nobodyさん
2010/02/22(月) 08:13:02ID:???0867840
2010/02/22(月) 11:43:20ID:???>>843のやりかたで、無事できました。
開始オプションで、最初に作った他のものを開いていたようです
あああああああ死にたいorz
0868nobodyさん
2010/02/22(月) 12:57:31ID:???0872nobodyさん
2010/02/25(木) 11:34:40ID:???0873nobodyさん
2010/02/26(金) 22:53:35ID:???0874nobodyさん
2010/02/26(金) 23:58:18ID:???Java(Eclipse)と比べてここは劣っていると言わざるを得ない。
0875nobodyさん
2010/02/27(土) 02:49:00ID:???0876nobodyさん
2010/02/27(土) 02:58:10ID:???取得したデータをループでStreamWriterに書き込んでいって、最後にResponse.Write(sw)みたいなやり方で出来ますか?
このやり方だとファイル名はどうやって指定してあげればいいのかわかりません。
初心者です。
0877nobodyさん
2010/02/27(土) 03:01:00ID:???取得したデータというのはDBのデータのこと?TEXTファイルの文字?
ファイル名はテキストファイルのファイル名?
こんなんで分かると思うのかー超能力者じゃないんだぞー
0879nobodyさん
2010/02/27(土) 03:14:10ID:???>>877
最終的に作りたいのがTEXTファイルです。
DBのデータをSQLでselectしてきて、それをTEXTファイルに吐きだしたいんです。
その時にファイル名を指定して吐きだすことになると思うんですが。
とあるサイトでは
Response.AddHeader("Content-Disposition","attachment;filename=ファイル名");
のようにファイル名を指定していたのですが、別のサイトでは
StreamWriter sw = new StreamWriter(ファイル名, false, enc);
のようになっており、StreamWriterとResponse.Writeは一緒に使えないのかなと思いました。
複数行のレコードを書き込むにはStreamWriterが便利だと思ったんですが。
0880nobodyさん
2010/02/27(土) 03:16:58ID:???0881876
2010/02/27(土) 03:17:46ID:???0882nobodyさん
2010/02/27(土) 03:27:18ID:???0883nobodyさん
2010/02/27(土) 03:39:15ID:???一つ目のファイル名は、ローカルに保存されるファイルのファイル名を指定するものだけど、
2つめのファイル名は、サーバーにテキストファイルを作るときのファイル名。
とあるサイトでの使われた方知らないから分からないけど、いったん作ったファイルから
Response.Writeに書き出すこともできる
0884nobodyさん
2010/02/27(土) 03:54:21ID:???同意せざるを得ない。やっぱこのスレ、レベル低すぎ。
>>879
Response.AddHeader("Content-Disposition","attachment;filename=ファイル名");
この方法でよい。
0886nobodyさん
2010/02/27(土) 08:46:00ID:???0887876
2010/02/27(土) 15:38:59ID:???ここの方法だと、string変数に改行コードを入れつつループさせてファイルを作成していますね。
これを真似してみたらうまくいきました。
StreamWriterを使う方がちょっと面倒なのかな。
ちなみにサンプルでは、Response.BinaryWrite(encoding.GetBytes(tempString))のようにstringの文字列をbyteのように扱っていたのですが、Response.Write(tempString)ではだめなんでしょうか。
0888nobodyさん
2010/02/27(土) 16:43:48ID:???0889nobodyさん
2010/02/28(日) 00:29:00ID:???Response.Writeでだめな理由はそのページにも書いてあるだろ
Response.Writeだとページのエンコーディング指定の影響を受ける
特定の文字コードでダウンロードさせたいなら、>>888がいうように
Response.CharsetなりResponse.ContentEncodingなりを指定して
Response.Writeするのが正解(ただしテキストに限る)
0891nobodyさん
2010/03/01(月) 08:34:18ID:???ASP.netのプロジェクトにはWebアプリとWebサイトがあると
聞いたんですがWebアプリしかありませんでした。
Webサイトプロジェクトを作成するにはどうしたらいいでしょうか?
0892nobodyさん
2010/03/01(月) 09:27:33ID:???0893nobodyさん
2010/03/03(水) 10:29:09ID:???似たような案件でうちで外部会社のperlアプリを突っ込まざるを得ない時は暫定的にこうした
1.perlアプリはASP.NETアプリの下階層のディレクトリに放り込む
2.ディレクトリをWebアプリ化してそこのワイルドカードアプリケーションマップににaspnet_isapi.dllを設定
検証した限りではフォーム認証かけつつperlを動かすことができた
その後perl側で対応してもらったから今はやってない
この場合はフォーム認証だけだったけど、ここ用のglobal.asaxを突っ込めばログも対応できるかも
正しいやり方か見当つかないんだけど、この方法って合ってるんかな
0894nobodyさん
2010/03/05(金) 14:35:25ID:???pnl1.Update()イベント中に
pnl1.Visible = false;
や
pnl2.Visible = true;
をしても表示が変更されません。
どのタイミングでどうすれば非表示に出来るのでしょうか
どなたかお願いします。
0895nobodyさん
2010/03/05(金) 16:17:30ID:???MSDNを見る限り、UpdatePanelにUpdateイベントなんてないぞ
http://msdn.microsoft.com/ja-jp/library/system.web.ui.updatepanel_events.aspx
Updateメソッドならあるが...
Visble=falseってどこにどう書いてるんだ?もうちょっとコード晒せよ
0896nobodyさん
2010/03/05(金) 17:34:15ID:???情報足りなくてすみません。
pnl1,pnl2における、
三つのイベント(Init、Load、PreRender)内で
pnl1.Visible = false; や pnl2.Visible = true;
などを記述してみたのですが、
いずれにおいても、初回読み込み時には表示変更が反映されるものの
pnl1.Update();
実行時には、表示変更が反映されず、
初回に非表示になってしまったパネルは、非表示のままです。
Update()発行時に、表示/非表示を切り替えるには、
どうしたらいいのかをご教示ください。
0897nobodyさん
2010/03/05(金) 17:50:00ID:???0898nobodyさん
2010/03/05(金) 20:13:03ID:???0899nobodyさん
2010/03/06(土) 13:03:47ID:w7XPkCV9ASP.NET3.5 + VS2008 (VB.NET)です。
ListViewで作成した列タイトルを動的に設定したいのですが
どのようにしたらよいでしょうか?
WebFormの定義は下記のとおりです。(レイアウトの部分を抜粋)
<asp:ListView ID="ListView1" runat="server">
<LayoutTemplate>
<table ID="itemPlaceholderContainer" runat="server" border="1">
<tr id="Tr2" runat="server"><th id="Th1" runat="server">
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</th></tr>
<tr ID="itemPlaceholder" runat="server"></tr>
</table>
</LayoutTemplate>
ListView1の中のLabel1に列タイトルをセットすることで動的に変更しようとしています。
プログラムの部分は下記のとおりです。
Dim lblth1 As Label = CType(ListView1.FindControl("Label1"), Label)
lblth1.Text = "項目1"
これを実行すると、"項目1"を代入するところでエラーになります。
「オブジェクトインスタンスの作成にはnewキーワードを使用します」
どのように記述したらよいのでしょうか?
この方法でなくても、ListViewで列タイトルが動的に変更できればOKです。
0900nobodyさん
2010/03/06(土) 15:27:42ID:???0901nobodyさん
2010/03/06(土) 16:36:01ID:???何のイベントで設定してるんだ?
まさかPage_Loadじゃないだろうな。
ListViewのDataBoundなりでやれば動くぞ。
0902nobodyさん
2010/03/06(土) 16:49:34ID:???まず、エラーメッセージを正確にかけ。おそらく、
オブジェクト参照がオブジェクト インスタンスに設定されていません
のはずだ
データソースが指定されていないから、テンプレートに指定した内容が
実際にまだ作成されていないからエラーになってる
ちゃんとしたDataSourceIDを指定するなり、DataSource指定してDataBindしてから
やればちゃんと動くはず
>>901
そもそもDataBound発生してないと思うぞ
ちなみに俺が試した範囲ではデータソースをちゃんとすれば
Page_Loadでも動いた
0903nobodyさん
2010/03/06(土) 17:28:43ID:w7XPkCV9Page_Loadに記載しています。
エラーメッセージは、最初に記載したエラーの上にご指摘の
「オブジェクト参照がオブジェクト インスタンスに設定されていません 」が
表示されていました。
Dim lblth1 As Label = CType(ListView1.FindControl("Label1"), Label)
lblth1.Text = "項目1"
上記を ListView1.DataBind() の下に配置したところ、正常に動作しました。
ありがとうございました。
ちなみに、この方法の他に LayoutTemplate をオーバーライドする方法も
あるようですが、どちらの方法が望ましいでしょうか?
0904nobodyさん
2010/03/06(土) 17:39:39ID:???Listviewは、GridViewのように「列の編集」が
表示されませんが、どのように定義したら
よいのでしょうか?
また、Webフォームのソース画面で、
GridViewと同じように
<asp:ListView ID="ListView1" runat="server">
<Columns>
<asp:BoundField HeaderText="項目1” />
</Columns>
</asp:ListView>
と記述してみましたが、記述した時点で警告がでました。
「検証 (XHTML 1.0 Transitional): 要素 'columns' はサポートされていません。」
「要素 'BoundField' は不明な要素です。」
これを無視して実行するとエラーが発生しました。
「パーサー エラー メッセージ: 型 'System.Web.UI.WebControls.ListView' には 'Columns' というパブリック プロパティは含まれていません。」
0905nobodyさん
2010/03/07(日) 07:50:05ID:???0906nobodyさん
2010/03/07(日) 12:34:05ID:???asp.netのマスタページ機能の質問です。
ContentPlaceHolderは、ToolboxのStarndard区分から選択することでコードを挿入できるのですが、
ContentPlaceHolderの中身を記述する以下のような「Content」コードをGUI操作で
挿入する方法がわかりません。
仕方なく、コピペでコードを入れているのですが、GUI操作でお手軽に挿入する
方法はありますか?
<asp:Content ID="Content1" ContentPlaceHolderID="aaaaa" runat="server">
</asp:Content>
環境はVisual Studio 2010 Ultimate RCですが、VS2008でもやり方がわかりませんでした。
0907nobodyさん
2010/03/07(日) 15:34:46ID:???ListViewで何が出来るか、何をするものか勘違いしてる。
ListViewでは、何でも出来るけど、そのかわり自分で全部やらなきゃいけない。
0908899
2010/03/07(日) 16:52:11ID:???元々、>>899のようなことがしたくてListviewでBoundFieldみたいなもの
ないかなと思って本やネットで探していたのですが、どうもListviewには
BoudnFiledは無さそうでした。
ところが、>>901さんが「ListViewのDataBoundなりでやれば動くぞ」と
言われたので尋ねた次第です。
0909901
2010/03/07(日) 17:34:54ID:???何を言っているのか意味が分からん。
>>899で示されたエラーから推測できるのは、ListView1.FindControl("Label1")がnullってことだった。
で、原因は>>902が言うようにDataBoundイベントが発生していない
(=まだLabel1が作成されていない)段階で、FindContolしているからだ。
ListViewのDataBoundイベント発生後ならばLabel1は存在する
→したがってFindControlでラベルオブジェクトが取得できる
→したがってラベルオブジェクトのTextプロパティを動的に設定可能ということだ。
(もちろんDataSourceがnullでない場合に限る)
誰もGridViewと同様にBoundFieldが設定可能などと言っていない。
0911nobodyさん
2010/03/08(月) 10:00:40ID:???visual web developer express 2008 作ったりするの???
0912nobodyさん
2010/03/08(月) 11:03:26ID:???短期の助っ人(契約とか派遣)や、コードを色つきで見れれば良い程度のテスト要員には使ってもらうことある
でも、短期でも主要な部分をやってもらう人や、テスト要員でも開発部員なら相応のEditionを渡す(開発部員は自分でライセンス持ってる場合多いけど)
ケースバイケースだけど、常時10ライセンスくらいは余らしてるからExpressを使わないパターンの方が多いな
0913nobodyさん
2010/03/08(月) 14:18:32ID:???お客にソース渡してお客がメンテするのならライセンスはお客側の話だ。
0914nobodyさん
2010/03/08(月) 15:40:12ID:???質問の意図から論点ズレまくってるよ
確かに作ってしまえば同じだけど、開発ツールの選択は作る過程に影響する話でしょ
お客さんがどうこうって話は元質問に全く無い要素だと思うけどなんで話広げてるの?
0915nobodyさん
2010/03/08(月) 18:31:13ID:???質問に、「客に納品する」って前提条件があるのに
元質問に全くない要素ってか
つか、>911の質問内容でその意図を正確に読み取るとは
ここはエスパーの多いスレですね
0916nobodyさん
2010/03/08(月) 18:42:17ID:???自分の経験した会社だと、ほとんど開発ソフトは、開発案件ごとに見積もりに価格に乗せて、
購入するようにしてるからExpressで開発することはないな
0917nobodyさん
2010/03/08(月) 18:58:08ID:???0918nobodyさん
2010/03/08(月) 19:19:26ID:???0919nobodyさん
2010/03/08(月) 19:35:52ID:???OSや.NETに起因するバグや仕様で、自分たちにはどうにもできない、
問合わせてもMSは何もしてくれないという客先への証明になれば
0920nobodyさん
2010/03/08(月) 20:38:31ID:???で通用するとか、ヌル過ぎる客がうらやましいでつね(クスッ
0921nobodyさん
2010/03/08(月) 20:46:24ID:???まさか開発側の問題ってことにはしないよね?
もしかして運用回避等のその他代替案の提示位しろよ、みたいな当たり前の話?
0922nobodyさん
2010/03/08(月) 20:52:10ID:???>>920は、ここに居着いたあらしだから無視が一番
AJAXも使ったことないで脳内回答してたぐらいだし、実際の現場で働いたことがないんだろう
0923nobodyさん
2010/03/08(月) 21:27:05ID:???/ \ /\ キリッ
. / (ー) (ー)\
/ ⌒(__人__)⌒ \ <この問題はMSに問い合わせたけど解決しませんでした。
| |r┬-| | で通用するとか、ヌル過ぎる客がうらやましいでつね
\ `ー’´ /
___
/ \
/ノ \ u. \ !?
/ (●) (●) \
| (__人__) u. | 代替案や運用で回避してもらって機能は実現するに決まってるじゃん>
\ u.` ⌒´ / 何もしないわけないじゃん クスクス>
ノ \
/´ ヽ
____
/ \!??
/ u ノ \ <言うまでもないこと言われてもね
/ u (●) \ <話の内容のレベルが違うんじゃない? クスクス
| (__人__)|
\ u .` ⌒/
ノ \
/´ ヽ
0924nobodyさん
2010/03/08(月) 21:28:46ID:???そもそも通用するわけがない
客との契約はサービスやアプリケーションを提供すること
開発環境の都合なんて客は知ったことじゃないし、理解することもできないし、理解して「そうかそうか、仕方ないな」なんて言ってくれない
客が見るのは結果だけなわけで、検収取れなきゃ金出してくれないわけで
※他の開発会社の下請け作業や、稀にいる開発環境指定の客の場合はこの限りではない
だいたいにして、MSの開発環境でそれを構築すると判断してそれがMSの原因で達成できないとしたら、MSを選択したうちらの瑕疵もある程度はある
それを何らかの方法で回避するための根本原因の説明としてMSの回答を持ち出すことはあっても、その尻拭いは開発側の仕事
たとえば、運用回避策を検討して提示するとか代替手段を開発するとかして延命し、MSの回避策が出てから対応完了するイメージ
普通そういうリスクは織り込んで契約するもんだと思うんだけどな
うちの場合、契約には開発環境を提供する会社の瑕疵によって発生した場合は、お互いの協力(客は期間延長、こっちは開発費用持出)で解決しようって一文は入れて、交渉の担保にはしてるけどね
とは言ってもデッドラインはあるわけで、そのためにデスマーチになることも過去にはあったなw
0926nobodyさん
2010/03/08(月) 21:52:27ID:???そうそう。
顧客が求める機能を最大限、できる範囲で実現しようとして作業するのは当たり前。
その前提で考えると>>920は、マジで実際に働いたことがないんじゃないかと思う。
もしくは、ただこのスレに居着いて他人に喧嘩を売っているだけ。
0927nobodyさん
2010/03/08(月) 22:38:43ID:???0928nobodyさん
2010/03/08(月) 23:56:11ID:???0929nobodyさん
2010/03/09(火) 00:24:45ID:???MSの返答でできない→どうやってもできないの証明
こういうと、技術力があるのなら一晩でフレームワークを自作しろとか言うのかもしれないが、
残念ここはASP.NETスレだ
0930nobodyさん
2010/03/09(火) 00:33:40ID:???仕様を実装するのが目的なんだよ
だから、MSがある方法での実装が不可だと回答したら、別の方法で実装するだけだよ
そのために特定の前提が必要だとか外部ソフトが必要だとかあったら顧客と調整するだけ
こういうのは仕事で開発してないとピンと来ないだろうね
0932nobodyさん
2010/03/09(火) 00:59:32ID:???0933nobodyさん
2010/03/09(火) 01:18:13ID:???0934nobodyさん
2010/03/09(火) 01:52:31ID:???さすが、事故解決能力の無い、ソースくれくれ君だよ
0935nobodyさん
2010/03/09(火) 02:03:52ID:???その通り
手段に引っ張られて目的を達成できないとかありえない
でも「結果が出れば手段なんてなんでもいいんだ」とExpressに固執して生産性下げるのも愚の骨頂
「Expressでなんでもできるからいいだろ」と言うのは時間を金額に換算する必要のない立場の人間だけ
0936nobodyさん
2010/03/09(火) 02:18:44ID:???SQLServerもそう
何か不具合があったとき、こっちの不具合なのか、
MSの不具合なのか判断してもらえるところが大きい
0937nobodyさん
2010/03/09(火) 02:50:44ID:???SQL Server上のテーブルデータにコントロールをバインドさせるような
基本的な事もGUI操作でできないよね?
生産性落ちるどころのレベルじゃないと思うんだけど。
0938nobodyさん
2010/03/09(火) 03:04:55ID:???それにプロジェクトに自作DLLを導入してる場合、その自作DLLを作成するプロジェクトを混在できないから面倒
あと、多くの帳票作成ソフトとかの外部アドオンがExpressだと導入できない
0941nobodyさん
2010/03/09(火) 09:30:37ID:???それどころか鯖も買ってもらえなくて
自分の業務用PCでとりあえず動かしている状態
0942nobodyさん
2010/03/09(火) 09:51:01ID:???0943nobodyさん
2010/03/09(火) 12:51:26ID:???以前のASPXページはポストバックごとに状態をセッション変数に保存していましたが
Ajaxだと当然ポストバックが発生しません
こんなとき、Ajaxからセッション変数を更新する方法を解説しているページなどありましたら
ご紹介ください。
時間をかけて自分で調べればいいのですが、時間に余裕がありませんのでよろしくお願いします。
0944nobodyさん
2010/03/09(火) 13:17:11ID:???ASP.NET AJAXなら該当イベントで、それ以外ならリクエストされるページで
イベントで動くって基本に立ち戻れば悩むようなことじゃないと思うんだけど
「ポストバックで処理していたのをどうすればいいんだろ」って思考に囚われすぎてないかい?
0945nobodyさん
2010/03/09(火) 13:26:48ID:???0946nobodyさん
2010/03/09(火) 13:42:01ID:???そこでxmlHttpRequestでサーバを呼ぶ
つーか、サーバを呼ばなきゃただのDHTML
0947nobodyさん
2010/03/09(火) 19:12:31ID:???http://support.microsoft.com/kb/316148/ja
0948nobodyさん
2010/03/09(火) 20:33:41ID:???セッションは使う。
KBの件はsessionStateをInProc以外にしてれば、
ワーカープロセスが再起動してもセッション情報は失われない。
つか、そんなKB持ち出すまでもなく、
iisはアイドルが20分程続くと勝手にワーカープロセスを再起動する。
この時、sessionStateがInProcだとセッション情報が消失するという楽しい仕様だ。
0949nobodyさん
2010/03/09(火) 21:13:14ID:???ASP.NET3.5 + IIS6 でセッション変数使用中にWeb.configを保存しなおしたら
ほんとうにセッション変数が消えてしまいました・・・
こんな危険なセッションモードが「デフォルト」になっているのは何故ですか?
0950nobodyさん
2010/03/09(火) 21:21:56ID:???0951nobodyさん
2010/03/09(火) 21:31:21ID:???昔の人はどうやって運用してたんだろう。
0952nobodyさん
2010/03/09(火) 22:28:37ID:???IISの動作を見れば分かり切ったことだし、ASP.NET開発の書籍でSessionのとこ見れば必ず注意事項として載ってる
ところが、MSのオフィシャル情報にはこう載ってる罠
http://msdn.microsoft.com/ja-jp/library/z1hkazw7(VS.80).aspx
> データの永続性 セッション状態変数に配置されたデータは、インターネット インフォメーション サービス (IIS: Internet Information Services) の
> 再起動やワーカー プロセスの再起動があっても失われずに保持されます。
> これは、データが別のプロセス領域に格納されているためです。
> また、セッション状態のデータは、Web ファームや Web ガーデン内のプロセスなど、複数のプロセス間で保持できます。
ステートサーバを使って実現することをさも既定の動作であるかのように書いてる。
セッションについて理解していればこれが宣伝広告的なものだと分かるんだけど、そうじゃないと鵜呑みにしちゃうよね。
こうして騙される人が増えると。
ちなみに昔はセッションなんて使わないのが常識だった。
せいぜい持たせて認証情報くらい。
これなら吹っ飛んでもログインしなおす流れを明示できる。
連続的な情報はCookieやページ内にhiddenで突っ込んだりしたもんだ。
ASP.NETでもContextやViewStateで十分な情報はそれを使った方が良いよ。
0953nobodyさん
2010/03/09(火) 23:48:19ID:???>アプリケーションの Web.config ファイルの processModel 要素で
>webGarden 属性に true を設定して Web ガーデン モードを有効にしている場合は、
>InProc セッション状態モードを使用しないでください。
>このモードを使用すると、同じセッションに対する要求がそれぞれ異なるワーカー プロセスによって処理される場合、
>データ消失が発生する可能性があります。
0954nobodyさん
2010/03/10(水) 00:37:48ID:???引用のつもりなら出自を明確に
あと、そのコピペじゃ何を言いたいのか全然分かんない
InProcで消えるパターンが他にもあるよと言いたいだけ?
0956nobodyさん
2010/03/10(水) 18:39:54ID:???1.Visual Studio 2008 SP を起動
2.ファイル - 新しいプロジェクト - ASP.NET Webアプリケーション を選択して[OK]
.Net Framework 3.5 を設定
3.デザイン画面を表示
4.Panelコントロールを配置
5.panelコントロールの中にTextBoxコントロールを配置
6.TextBoxコントロールのプロパティウィンドウでTextプロパティに何か文字を入力し確定
7.そのままデバッグの開始
デフォルト表示されるはずの文字が表示されないのです。
ちなみにPanelに載せなければ正しく表示します。
3台のPCで試して3台とも再現しました。
0957nobodyさん
2010/03/10(水) 19:08:45ID:???セッション状態とプロファイルプロパティは別物だし>952のリンク先でも
別セクションにわけて解説してある
プロファイルプロパイダは後者のことで、>952は前者のことだぞ
0958nobodyさん
2010/03/10(水) 21:04:55ID:???0961nobodyさん
2010/03/11(木) 09:02:01ID:???製品の不具合に起因することはインシデント返還される
暫定的な非公開hotfixと引き換えにすることもできる
バグが確定的なら無料の窓口でも対応してくれる
0962nobodyさん
2010/03/11(木) 13:09:39ID:???まずは無料サポートに問い合わせて対応させる
バグならその旨連絡来るし、そうじゃなさそうならSRをすすめられる
0963nobodyさん
2010/03/16(火) 13:14:56ID:???_______
| |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
A|B |C
―――――
1|12|aaa
2|13|bbb
3|14|ccc
4|15|ddd
GridViewで作成した表に、ラジオボタンで選択した行をテキストボックスに
入力した文字列で検索した結果を、表示したいと考えています。
具体的には、ラジオボタンでAを選択した状態でテキストボックスに1と入れると、GridViewに
A|B |C
―――――
1|12|aaa
が表示され、ラジオボタンでAorBを選択した状態でテキストボックスに3と入れると、GridViewに
A|B |C
―――――
2|13|bbb
3|14|ccc
と表示したいのですが。
ご意見いただけないでしょうか。
0964nobodyさん
2010/03/16(火) 13:40:43ID:???その行をVisible=Flaseで良いんじゃね?
0965nobodyさん
2010/03/16(火) 15:07:09ID:???その条件で元データをフィルタする
俺なら動的にSQL組み立てるが、ポストバック間で元データのデータセットを
保持してるならRowFilter使うのもありかな
0966nobodyさん
2010/03/16(火) 15:30:51ID:???0967nobodyさん
2010/03/16(火) 15:47:11ID:???0968nobodyさん
2010/03/16(火) 16:18:41ID:???訂正
俺ならDB使って動的にSQL組み立てるが
0969nobodyさん
2010/03/16(火) 16:25:51ID:???「テキストボックスに3と入れると」ってのはクライアントサイドで完結して欲しいって意図も感じる
どこかに「絞り込み」ってボタンがあって、普通にポストバックしていいなら結構楽な話だけど、クライアントサイドで完結したいならこめんどう
Ajaxにしてグリッドだけサーバの結果で書き換えるって手もあると思う
0970963
2010/03/16(火) 17:22:59ID:???データはDBつかって管理していて、どれもvarcharだと思ってくれ
絞り込みボタンを設置して、ポストバックさせる予定
0971nobodyさん
2010/03/17(水) 08:27:50ID:hGXHTczyただ画面に表示されてないデータの情報がほしい場合にはどっかに保存してなきゃいけないけど
0972nobodyさん
2010/03/17(水) 09:14:48ID:???対象が例の通りの4件ならぐりぐりでいいけど、それなりの量を相手にするなら検索はDBに任せた方がいい
3つの条件受け取るストアド作っておけば呼び出し側はSqlDataSourceで簡単に対応できるし
たかが3条件でSQLが複雑とか言わないよね?
0973963
2010/03/17(水) 10:20:23ID:???全部GUIでできないかなーと思ってたのですが、やっぱり無理か
0975nobodyさん
2010/03/20(土) 11:17:10ID:???で、web.configの <system.web> 直下に
<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/>
</httpHandlers>
を設定しろとあるのでそうしたのですが、このweb.configには認証が必要なセクションがあり
<location path="search/protected" allowOverride="false">
<system.web>
<authorization>
<deny users="?" />
という設定になっています。ここの <system.web> 直下に
<httpHandlers>
<add verb="POST,GET" path="/ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/>
</httpHandlers>
と書いてみましたが、認証が必要なページだけweb.configのパスが見つからないというエラーが出ます。
ディレクトリ構造は
wwwroot
ajaxpro
search/protected
となっています。
パスの書き方が違うのだと思うのですが、いろいろ試してもうまくいきません。
どうか、ご教示くださいませ。
0976nobodyさん
2010/03/20(土) 12:11:03ID:???別のアプリケーションとして登録してあるウェブサービスがあり
wwwroot
ws
に置いてあるんですが、wwwrootのweb.configを編集しているとウェブサービスもエラーを出してることに気がつきました。
もちろんwsディレクトリにもweb.configはあります。ここも<httpHandlers>を設定するとオブジェクト参照にインスタンスがありません。にメッセージが替わりました。
どうしたものでしょうか・・・
0977nobodyさん
2010/03/20(土) 12:26:33ID:bKU/HHKK0978nobodyさん
2010/03/20(土) 19:59:38ID:???0979nobodyさん
2010/03/20(土) 20:41:24ID:???ソース厨がスレを荒らして、みんなスレからいなくなる
↓
ソース厨はAJAXわからない
↓
しかもソース厨はレベル超低い
↓
簡単な質問にもまともなレスがつかない
0980nobodyさん
2010/03/20(土) 20:49:51ID:bKU/HHKKこの先どうなるかわかりませんが、とりあえずありがとうございました。
0981nobodyさん
2010/03/20(土) 22:15:31ID:???MVP様は実績積むために張り付いてるし、1日反応無いだけでMS社員が反応してくれる
そっちのがレベルもレスポンスも上なのにここで回答求める方がアホ
0982nobodyさん
2010/03/21(日) 01:30:58ID:???ASP.NETスレもPart6で終了か。
0983nobodyさん
2010/03/21(日) 02:04:15ID:???レス数が950を超えています。1000を超えると書き込みができなくなります。