1 名前:nobodyさん mailto:sage [2009/09/01(火) 20:06:04 ID:???] ASP.NETとは、マイクロソフトが提供するWeb アプリケーションと XML Web サービスを構築するための Microsoft .NET Frameworkの一連のテクノロジの一つです。 技術の移り変わりの早い分野ですので、みんなで質問、相談しつつ、より理解を深めていきましょう。 ●ASP.NET関連サイト マイクロソフトASP.NETデベロッパーセンター msdn.microsoft.com/ja-jp/asp.net/default.aspx ASP.NETオフィシャル(英語) www.asp.net/ VisualStudioホームページ www.microsoft.com/japan/msdn/vstudio/ SQLServerホーム www.microsoft.com/japan/sqlserver/2005/default.mspx IISオフィシャル(英語) www.iis.net/ ASP.NETにAJAX技術を取り入れるASP>NET AJAX(英語) www.asp.net/ajax/ ASP.NETにMVCアーキテクチャを取り入れるASP.NET MVC(英語) www.asp.net/mvc/ ASP.NETでのお役立ちの定番サイト www.atmarkit.co.jp/channel/aspnet/aspnet.html ●前スレ 【質問】ASP.NETスレ Part5【議論】 pc11.2ch.net/test/read.cgi/php/1232671611/
428 名前:nobodyさん mailto:sage [2009/11/23(月) 11:37:20 ID:???] 何度も申し訳ありません。 VisualStudio2005で作ったWEBアプリで、IIS上で動作させています。 .NETFrameworkは2.0です。 AとBは別ファイルです。 テンポラリはWeb.configの記述ですか?
429 名前:nobodyさん mailto:sage [2009/11/23(月) 18:04:25 ID:???] WEBアプリとWEBサイトの区別はついてるか? AとBの定義してあるファイルはどこにあるんだ? そのファイルは.dllなのか.vbなのか? テンポラリは標準ではたぶん c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files あたり。この中身ズバッと消して見れ
430 名前:nobodyさん mailto:sage [2009/11/25(水) 16:38:29 ID:???] .net 2003(asp.net)の datagridへのデータの表示方法なのですが、 コード 名称 数 金額 11 テレビ32 1 10000 12 テレビ42 3 60000 21 DVDレコーダ 1 10000 22 BDレコーダ 2 40000 のような売上データをDBから取ってきて、 コード 名称 数 金額 11 テレビ32 1 10000 12 テレビ42 3 60000 テレビ計 4 70000 21 DVDレコーダ 1 10000 22 BDレコーダ 2 40000 レコーダ計 3 50000 総計 7 120000 のように表示させるにはどうすればよろしいでしょうか。 「総計」に関しては、単純にフッターに表示出来ますが、 「テレビ計」のような中間計を表示させるうまい方法がわかりません。 テレビのコード帯は10〜19、レコーダのコード帯は20〜29です。 恐れ入りますが、教えて頂けますでしょうか。(参考URL等でも)
431 名前:nobodyさん mailto:sage [2009/11/25(水) 18:42:42 ID:???] 表示させるだけなら、SQLのCUBEとか、ROLLUPだっけ?を使えばできるんじゃね? 各明細の編集ボタンも表示させたいとかだと不自由かもしれないけど。 Repeaterでやれば各行を集計して、コード帯やらが変わるたびに集計行を表示とか いろいろできると思うけど。
432 名前:430 mailto:sage [2009/11/26(木) 02:15:49 ID:???] >>431 SQLで小計出力が出来ることを知りませんでした。 cube rollup 調べてみます。 (datatableをバインドする前に、 新たなdatatableを作って、コード帯が10〜19だったら、 それまでの合計を足して、NewRowに入れて、Addするみたいな イメージで組もうとしてました) ありがとうございます。
433 名前:nobodyさん mailto:sage [2009/11/26(木) 10:44:47 ID:???] ROLLUP!そういうのもあるのか
434 名前:nobodyさん mailto:sage [2009/11/27(金) 00:01:40 ID:???] FtpのWebClientとかあるけど、あれってクライアントPCからアップできる? 権限のからみでほとんど使えないだが…
435 名前:nobodyさん mailto:sage [2009/11/28(土) 08:10:59 ID:???] GridViewの「編集」ボタンで、データの[更新日時]にNow()関数で更新日時が自動で 入力される様にしたいのですが、色々調べてみたのですがわかりません。 どうすればよいのでしょうか?よろしくお願いします。 DB:MS Access、VWD2005、VB
436 名前:nobodyさん mailto:sage [2009/11/28(土) 09:38:53 ID:???] RowUpdatingイベントで放り込めば
437 名前:nobodyさん mailto:sage [2009/11/28(土) 13:32:50 ID:???] >>435 Now()が、DateTime.Now()かSQL文のNow()が不明だからなんとも。 単に編集ボタン押した時に、その日付を入れたいなら>>436 で。 ただ、実際の日付更新はUpdate文にNow()を記述して更新したほうが、 日付の更新し忘れがなくていいような気がする。仕様次第だけどさ。 GridViewにDataBindして編集したときって、 編集された内容をViewStateで保持し続けて、 Update後もUpdate前のデータを引きずるんだっけか? それでSQL文のNow()が反映されないという意味なら、 DataSetで更新後のデータを引っ張るようにSQL文を記述するしかないと思われる。 INSERT **** WHERE ID = @ID; SELECT *** WHERE ID = @IDみたいな INSERT ****;SELECT *** WHERE ID = SCOPE_IDENTITY();みたいな
438 名前:nobodyさん mailto:sage [2009/11/28(土) 13:34:04 ID:???] ×INSERT **** WHERE ID = @ID; SELECT *** WHERE ID = @IDみたいな ○UPDATE **** WHERE ID = @ID; SELECT *** WHERE ID = @IDみたいな
439 名前:nobodyさん mailto:sage [2009/11/28(土) 16:55:14 ID:???] >>437 ありがとうございます。 > ただ、実際の日付更新はUpdate文にNow()を記述して更新したほうが、 > 日付の更新し忘れがなくていいような気がする。仕様次第だけどさ。 この方法で行きたいです。 > GridViewにDataBindして編集したときって、 > 編集された内容をViewStateで保持し続けて、 > Update後もUpdate前のデータを引きずるんだっけか? > それでSQL文のNow()が反映されないという意味なら、 > DataSetで更新後のデータを引っ張るようにSQL文を記述するしかないと思われる。 たぶん、この現象でUpdate後にDBにNow()が反映されないです。
440 名前:nobodyさん mailto:sage [2009/11/28(土) 16:56:18 ID:???] >>437 以下のテストコード書いてみました。 テーブル名:名簿3 ID(主キー):オートナンバー型(長整数型) 名前:テキスト型(サイズ50) 年齢:数値型(整数型) 作成日時:日付/時間型 更新日時:日付/時間型 <asp:AccessDataSource ID="AccessDataSource11" runat="server" DataFile="~/App_Data/MyDB.mdb" UpdateCommand="UPDATE [名簿3] SET [名前] = ?, [年齢] = ?, [作成日時] = ?, [更新日時] = Now() WHERE [ID] = ?"> <UpdateParameters> <asp:Parameter Name="名前" Type="String" /> <asp:Parameter Name="年齢" Type="Int16" /> <asp:Parameter Name="作成日時" Type="DateTime" /> <asp:Parameter Name="ID" Type="Int32" /> </UpdateParameters> </asp:AccessDataSource> コードを書いて、動かしてみましたが > UPDATE **** WHERE ID = @ID; SELECT *** WHERE ID = @IDみたいな > INSERT ****;SELECT *** WHERE ID = SCOPE_IDENTITY();みたいな のアドバイスをどう反映させれば良いのかわかりません。 上記コードの動きは、エラーは何も表示されず、更新内容がDBに反映されない。 もちろん「更新日時」情報も更新されず、以前の情報が入ったままです。
441 名前:nobodyさん mailto:sage [2009/11/28(土) 18:31:02 ID:???] >>440 まずデータベースに更新されないところを解決してみたら? 自分はAccessではやったことがないので、よくわからんが。 更新時間の表示はそれからでも遅くないぞ。
442 名前:435 mailto:sage [2009/11/28(土) 19:11:41 ID:???] >>441 アドバイスありがとうございます。 正しく動くコードを書いてみました。 以下のコードだと、修正内容でDBが更新され、GridViewへも更新された内容が表示されます。 <asp:AccessDataSource ID="AccessDataSource11" runat="server" DataFile="~/App_Data/MyDB.mdb" UpdateCommand="UPDATE [名簿3] SET [名前] = ?, [年齢] = ?, [作成日時] = ?, [更新日時] = ? WHERE [ID] = ?"> <UpdateParameters> <asp:Parameter Name="名前" Type="String" /> <asp:Parameter Name="年齢" Type="Int16" /> <asp:Parameter Name="作成日時" Type="DateTime" /> <asp:Parameter Name="更新日時" Type="DateTime" /> <asp:Parameter Name="ID" Type="Int32" /> </UpdateParameters> </asp:AccessDataSource>
443 名前:nobodyさん mailto:sage [2009/11/29(日) 16:12:41 ID:???] 教えてください。 visual web developer 2008で 新しいウェブサイトの作成→F5キーで「デバッグを開始」 をすると、 デバッグを有効にするためにweb.configを変更する のダイアログ表示後、 LMS c:\マイドキュメント〜\http:\localhost:3745\(作った新しいウェブサイト名)\ cntaints an invalid path. というダイアログが表示してしまいます。 どういった現象で、どう解決したらよいのでしょうか?
444 名前:nobodyさん mailto:sage [2009/11/29(日) 16:28:31 ID:???] c:\マイドキュメント〜\http:\localhost:3745\(作った新しいウェブサイト名)\ ってディレクトリっていうかフォルダが存在していないとか? そもそもディレクトリ名にコロンとか無理でしょ
445 名前:nobodyさん mailto:sage [2009/11/29(日) 16:39:19 ID:???] >>442 AccessじゃなくてSQLExpress(無料のやつ)で悪いんだけど、こんなんで動作してるな。 しかも、編集したあとはちゃんと日付をもってきてくれてるから、 あとから編集後の行だけ再取得するクエリとか記述しなくてもいいみたいだ。 ちなみに>>437 に書いたのは、.xsd等を使って自分でDataSetを定義して、 Update後に、Updateした行を再取得する方法。 <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [TableMaster]" UpdateCommand="UPDATE TableMaster SET TestInt = @TestInt, DateTime = { fn NOW() } WHERE (TestMasterID = @TestMasterID)"> </asp:SqlDataSource>
446 名前:435 mailto:sage [2009/11/29(日) 17:56:49 ID:???] >>445 アドバイスありがとうございます。 当方でもVWD2005 + SQL Server2005でMS Accessと同じテーブルを作成し確認してみました。 [更新日時] = {fn Now()} の記述で問題なく、更新日時に現在に日時が入力されGridViewに 表示されました。 現在の環境はSQL Serverは使えず、MS AccessをDBとして使用しています。 <asp:SqlDataSource ID="SqlDataSource11" runat="server" ConnectionString="<%$ ConnectionStrings:myDb %>" SelectCommand="SELECT [ID], [名前], [年齢], [作成日時], [更新日時] FROM [名簿3]" UpdateCommand="UPDATE [名簿3] SET [名前] = @名前, [年齢] = @年齢, [作成日時] = @作成日時, [更新日時] = {fn Now()} WHERE [ID] = @ID"> <UpdateParameters> <asp:Parameter Name="名前" Type="String" /> <asp:Parameter Name="年齢" Type="Int32" /> <asp:Parameter DbType="Datetime" Name="作成日時" /> <asp:Parameter Name="ID" Type="Int32" /> </UpdateParameters> </asp:SqlDataSource>
447 名前:435 mailto:sage [2009/11/29(日) 17:59:01 ID:???] >>445 ちなみに、新規データ「挿入」時の「作成日時」「更新日時」の自動登録は以下のコードで 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>
448 名前:nobodyさん mailto:sage [2009/11/29(日) 18:20:39 ID:???] >>447 んじゃ、とりあえずの解決?
449 名前:435 mailto:sage [2009/11/29(日) 18:36:02 ID:???] >>448 いいえ、解決しておりません。 MS Accessで新規データの「挿入」時の作成日時、更新日時の自動設定はうまく動くので すが、GridViewの「編集」「更新」時の更新日時の自動設定を行う方法がわからなくて 困っております。ご指導よろしくお願いします。
450 名前:nobodyさん mailto:sage [2009/11/29(日) 19:26:54 ID:???] >>449 SQLと同じように設定してもだめなの?
451 名前:435 mailto:sage [2009/11/29(日) 20:01:30 ID:???] >>450 そうなんです。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の表示 も当然更新前の内容が表示されるんです。 どこに問題がありそうでしょうか?
452 名前:nobodyさん mailto:sage [2009/11/29(日) 20:40:39 ID:???] Access持ってないから、テストできないんだよな MSDNでもらったのにOfficeあったかな・
453 名前:435 mailto:sage [2009/11/29(日) 21:05:19 ID:???] >>452 是非Access探してみてください。 Access2007の場合は、.accdtファイルはASP.NETで認識してくれません。 Access2002-2003の.mdbファイルで保存するとASP.NETが認識してくれます。
454 名前:nobodyさん mailto:sage [2009/11/29(日) 22:18:26 ID:???] UpdateCommand="UPDATE [名簿3] SET [名前] = ?, [年齢] = ? ,[作成日時] = ? & left(?,0) , [更新日時] = now() WHERE [ID] = ?" とかにすると動くけど、いらないパラメータ減らしたりすると動かないー
455 名前:nobodyさん mailto:sage [2009/11/29(日) 22:22:51 ID:???] ?とかなってて、個別にフィールド名を指定できないから、 なんかの順番で自動的に埋めてくみたいになってんじゃないかね。 だから順番とか、数の不一致とかでエラーになるとか。
456 名前:435 mailto:sage [2009/11/29(日) 23:07:35 ID:???] >>454 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>
457 名前:nobodyさん mailto:sage [2009/11/29(日) 23:21:27 ID:???] >>456 このへんみてみたら? codezine.jp/article/detail/2340?p=3
458 名前:nobodyさん mailto:sage [2009/11/30(月) 17:07:37 ID:???] Web画面上の「機能」と言うボタンを押したらプリンタに帳票を出したいんです。 この際、一度プレブー画面を表示して、プレブー画面上の印刷ボタンでも構いません。 クライアントになんかしらんのエージェントでもインストールしない限り、画面のボタンを 押したらプリンタに出力、というのは実現できない気がするんですが、なにか方法がありま ますでしょうか? Javaスクリプト併用で画面イメージの印刷だったら画面ボタンをクリックして直接印刷できる でしょうか?
459 名前:nobodyさん mailto:sage [2009/11/30(月) 18:08:23 ID:???] >>458 JavaScriptでブラウザの機能としての印刷ダイアログを表示させることはできるね。 bunjin.com/java/btn_prn.html でもブラウザで、四角四面の帳票を印刷させるのはほとんど不可能。 自分でPDFを作成するか、PDFなり、帳票を自動的に作成してくれる コンポーネントを買うほうがいいと思う。
460 名前:nobodyさん mailto:sage [2009/11/30(月) 18:33:40 ID:???] ありがとうございます。 前に以前のプロジェウトでSVFなら使った事あります。ただ、今回の案件では金額的 な面からSVFは導入されなかたので、もし可能ならブラウザーから直接印刷したい 思いました。
461 名前:nobodyさん mailto:sage [2009/12/01(火) 10:42:21 ID:???] 自分はもっぱらActiveReportだなぁ 最近はいろんなのがでてるだろうから、調査しなきゃいけないなあ
462 名前:nobodyさん mailto:sage [2009/12/03(木) 17:06:57 ID:???] iText.netならただでPDF作れるよ
463 名前:nobodyさん mailto:sage [2009/12/03(木) 19:46:35 ID:???] 俺はiTextSharpの方を使っている
464 名前:nobodyさん mailto:sage [2009/12/03(木) 20:05:05 ID:???] そんなのあるのか
465 名前:nobodyさん mailto:sage [2009/12/03(木) 20:32:59 ID:???] それはそれで有り難いけど、DataSetを割り付けるだけで帳票できるような、 フリーなソフトがあればなぁ
466 名前:nobodyさん mailto:sage [2009/12/12(土) 19:46:57 ID:???] GridView内のとある明細のリンクをクリックするとモーダルダイアログが開いて、そこに 詳細情報を表示させる、みたいな処理を考えています。 モーダルダイアログ自体は↓この辺が参考になるかなぁと思っていますが ttp://www.atmarkit.co.jp/fdotnet/dotnettips/580aspajaxmodalpopup/aspajaxmodalpopup.html ダイアログを開く際に詳細情報をサーバに取りに行って、取得した内容をダイアログに出す と言うところが分かりません。(Responseの中に詳細情報を埋め込みたくない) 詳細情報取得の部分だけ別途XML Webサービスで作っておいて非同期に実施? どこかに参考になるようなサンプルがあったりしないでしょうか?
467 名前:nobodyさん mailto:sage [2009/12/12(土) 20:29:38 ID:???] 最近ASP.NETのプロジェクトに掘り込まれて、ASP.NETを勉強している者ですが質問があります。 ポストバックっていう言葉なのですが、何回も言ってるとフィストファックって聞こえませんか? 先日ずっとフィストファックって聞こえて仕事になりませんでした。
468 名前:nobodyさん mailto:sage [2009/12/12(土) 21:14:47 ID:???] >>467 まず耐性を付けることが重要だ。 以後、6を見る度、sexと脳内補完して読むように。 5でチンコでもいいが萎えるようなら止めたまえ。
469 名前:nobodyさん mailto:sage [2009/12/12(土) 22:11:10 ID:???] <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <input id="Text1" type="text" /> これの違いって何ですが? 上は標準のテキストボックス 下はHTMLのテキストボックス
470 名前:nobodyさん mailto:sage [2009/12/12(土) 22:16:42 ID:???] >>469 全然違いすぎて、何が聞きたいのかよく分からん。 もうちょっとどういう観点での違いが知りたいのかを明確に。
471 名前:nobodyさん mailto:sage [2009/12/12(土) 22:26:03 ID:???] エラーメッセージをテキストボックスに表示したいのですが、前任者のソースを見ると <input id="Text1" type="text" /> のテキストボックスに出しているソースと <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> のテキストボックスに出しているソースがあります 何か明確な違い(例えば色を変えられない等)があるのかと思って質問しました。
472 名前:nobodyさん mailto:sage [2009/12/12(土) 23:02:48 ID:???] >>471 まず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が抽象化したコントロールという意味的な違いがある。
473 名前:nobodyさん mailto:sage [2009/12/12(土) 23:36:37 ID:???] >>472 分かりやすい説明有難うございます。 URLも参考させて頂きます><
474 名前:nobodyさん mailto:sage [2009/12/13(日) 00:02:26 ID:???] >>466 Responseの中に表示させたくないってのはどういうこと? htmlのソースの中に表示させたくないってこと?
475 名前:nobodyさん mailto:sage [2009/12/13(日) 00:26:25 ID:???] >>474 AJAX使って、クリックされたタイミングでデータを取得してページを部分書き換えしたい ということです。そもそものページ(GridViewが貼ってあるページ)を返すときにはまだ 詳細情報を取得していない状態、としたいのです。(明細行数分の詳細情報とか すごいサイズになってしまうので)
476 名前:nobodyさん mailto:sage [2009/12/13(日) 00:46:07 ID:???] >>475 単に明細ボタンクリックで、詳細を表示させたいということなら、 別ウィンドウを表示させるだけでいいんじゃない? 例えばJavaScriptで、targetが_blankのウィンドウに、 その明細を表示させるためのaspxに、明細のIDをgetなりセッションで渡してあげればいいと思うけど。
477 名前:nobodyさん mailto:sage [2009/12/13(日) 21:01:29 ID:???] 別ウィンドウを使ったなんちゃってモーダルダイアログは色々不具合の元になるので 避けたいんです。
478 名前:nobodyさん mailto:sage [2009/12/13(日) 21:22:18 ID:???] >>477 ならASP.NET AJAXを使って、普通に記述するだけで表示できるよ。 GridViewのイベントをフックして、その明細を表示するIDを取得して、 普通にDataSetに明細データを読み込んで表示させればいい。
479 名前:nobodyさん mailto:sage [2009/12/14(月) 00:24:48 ID:???] ↑ で、具体的には?
480 名前:nobodyさん mailto:sage [2009/12/14(月) 00:52:21 ID:???] >なんちゃってモーダルダイアログ ModalDialogExtenderがなんちゃってだぞ。 showModalDialogも知らんのか。
481 名前:nobodyさん mailto:sage [2009/12/14(月) 00:56:45 ID:???] 今時showModalDialogとかww
482 名前:nobodyさん mailto:sage [2009/12/14(月) 00:59:21 ID:???] >>479 具体的にも何も、そのまま普通にポストバック形式で記述して、 ASP.NET AJAXを導入するだけでしょ。 それ以上、どうやって具体的に説明すればいいか、 現実的な方法が思い浮かばない。
483 名前:nobodyさん mailto:sage [2009/12/14(月) 02:45:20 ID:???] まあ、一般論として 「普通に〜すればいいよ」 「普通に〜させればいい」 という回答を返す奴は 実は判ってないか、質問が理解出来ていないかのどっちか。
484 名前:nobodyさん mailto:sage [2009/12/14(月) 05:56:26 ID:???] >>483 それじゃソースをよこせって言ってるようなもんじゃん ポストバック形式で記述します。 ASP.NET AJAXを導入します。 実現できるよね? じゃ、こういえばいいのかな。 GridViewのそれぞれの行にButtonを設置するよね。 でそのButtonクリックでイベントを発生させて、その行のデータのIDを引数として渡す。 んでaspxでそのイベントをフックして、IDを取得できるので、 そのIDから、データベースよりデータを取得して、DataSetに格納する。 さらに任意のサーバコントロールを設置して、ダイアログ画面として表示させ、 そのダイアログの画面の、それぞれのサーバコントロールにDataSetに取得したデータを表示させる。 これをそれぞれ、目的に合致するようにソースに置き換えればいい。 何か難しいことがある?
485 名前:nobodyさん mailto:sage [2009/12/14(月) 09:40:19 ID:???] その記述で、お前が本質的に質問を理解していない事は分かった。
486 名前:nobodyさん mailto:sage [2009/12/14(月) 10:43:34 ID:???] >>485 ん? 返答の意味と違うのなら答えてあげてよ。 理解している人が。
487 名前:nobodyさん mailto:sage [2009/12/14(月) 13:26:06 ID:???] >>466 www.atmarkit.co.jp/fdotnet/dotnettips/621aspajaxdynamicpopulate/aspajaxdynamicpopulate.html @ITより詳しい内容が本になって出てるので、それも参考に ASP.NET AJAXプログラミング(マイコミ)
488 名前:nobodyさん mailto:sage [2009/12/14(月) 13:37:08 ID:???] >>484 君、典型的だね。
489 名前:nobodyさん mailto:sage [2009/12/14(月) 13:41:14 ID:???] >>487 そんなの使う必要ないよ。 AJAX使えばいいんだから。
490 名前:nobodyさん mailto:sage [2009/12/14(月) 13:51:36 ID:???] >>487 お前勘違いしてるだろ。 要は明細を表示させればいいわけで、XMLWebサービスを使わなければならない必要はない。 だから、ただASP.NET AJAXを導入すればいいだけ。
491 名前:nobodyさん mailto:sage [2009/12/14(月) 14:03:05 ID:???] だんだん、「AJAXを導入すればいいだけ」をひつこく繰り返してるのは、判ってる判って ないと言うよりは単に荒らしてるだけのように見えてきた('A` AJAXを導入すれば何もしなくてもいいと思ってんの? つーか、「AJAXを導入」ってどういう意味で言ってるの?
492 名前:nobodyさん mailto:sage [2009/12/14(月) 14:07:17 ID:???] インストールすりゃ、ほとんど何もしなくていいんじゃない?
493 名前:nobodyさん mailto:sage [2009/12/14(月) 14:08:30 ID:???] あ、お前、ひょっとしてASP.NET AJAX知らないの?
494 名前:nobodyさん mailto:sage [2009/12/14(月) 14:16:40 ID:???] 大抵の事はVisualStudioをインストールすれば出来るよ。
495 名前:nobodyさん mailto:sage [2009/12/14(月) 14:20:04 ID:???] 2008使おうよ。
496 名前:nobodyさん mailto:sage [2009/12/14(月) 14:21:09 ID:???] 全ての質問はWindowsにVisualStudio2008をインストールすれば解決するよ。 あ、お前もしかしてVisualStudio2008の使い方知らないの? つまりこうですね。
497 名前:nobodyさん mailto:sage [2009/12/14(月) 14:26:00 ID:???] おまえら、もういい加減にいじめるのを止めて教えてやれw >>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を実装できる(前編) itpro.nikkeibp.co.jp/article/COLUMN/20070817/279763/?ST=webdesign ASP.NET AJAX ファーストルック −ASP.NETアプリケーションをプログラミングなしでAjax化− www.atmarkit.co.jp/fdotnet/special/aspajax/aspajax_01.html つーわけで>>478 、>>482 、>>484 は正解。 >>485 、>>488 、>>491 はもっと勉強してから出直してくるように。
498 名前:nobodyさん mailto:sage [2009/12/14(月) 15:31:26 ID:???] はいはい自演乙。 AJAXに手を出せば出来る事は、そもそも質問者も最初に書いてる訳で。 具体的な方法が判らないつーてるのに二言目には「AJAX使え」と繰り返すばかり。 馬鹿なの?実は具体的な実装例は判ってないでしょ? ・・・と言う点を指摘されてる事もわからない訳ですね。
499 名前:nobodyさん mailto:sage [2009/12/14(月) 15:37:08 ID:???] 具体的も何もPostBack仕様で作って、ASP.NET AJAXを適用するだけだろ? PostBack仕様は>>484 が書いてる通りじゃん。 つまり>>484 の通りに作って、「ASP.NET AJAXを導入」しさえすれば、 >>497 に書いてある通り、「コーディングレスでAjaxを実装できる」ということ。 他にどのように説明をしろと?
500 名前:nobodyさん mailto:sage [2009/12/14(月) 15:41:00 ID:???] もうほっとけって。
501 名前:nobodyさん mailto:sage [2009/12/14(月) 15:53:37 ID:???] ASP.NET AJAXを使ったこと無い人が、ただのAjax技術を想像して文句を言うの図? >>491 >AJAXを導入すれば何もしなくてもいいと思ってんの? うんASP.NET AJAXを導入すれば何もしなくてもいいの。
502 名前:nobodyさん mailto:sage [2009/12/14(月) 16:12:59 ID:???] 今北新参 とりあえずAJAXっていうのが凄いって事はわかった なんか似たような拡張もの?でMVCうんたらみたいのもあるけどあぁいうの使ってるの? 他にもこういうのある?
503 名前:nobodyさん mailto:sage [2009/12/14(月) 16:29:21 ID:???] まあ、具体的な実装がよく解らない、つー最初の質問に対しては >487 の回答がベスト。 別にXML Webサービスに分離する必要もないけど、XML Webサービスを使っても実現出来る 以上、あとは実装者のお好み次第。 サルみたいに「AJAX導入」を繰り返すだけの回答で質問者が理解出来てるならそれで十分。 以上終了。
504 名前:nobodyさん mailto:sage [2009/12/14(月) 17:11:56 ID:???] >>503 自演乙 やっと理解できた?ASP.NET AJAX導入についてw
505 名前:nobodyさん mailto:sage [2009/12/14(月) 17:17:44 ID:???] 具体的実装もなにも、 ただポストバックする方法で作ればいいだけなんだから、 それ以上の答えなんてないだろw >478 名前: nobodyさん [sage] 投稿日: 2009/12/13(日) 21:22:18 ID:??? >ならASP.NET AJAXを使って、普通に記述するだけで表示できるよ。 >GridViewのイベントをフックして、その明細を表示するIDを取得して、 >普通にDataSetに明細データを読み込んで表示させればいい。 ほんとこのまんまじゃん。 ASP.NET AJAXを利用して、 GridViewのイベントフックメソッドでid取得して、明細データを取得して表示 これ以上どんな説明すればいいんだ?ww
506 名前:nobodyさん mailto:sage [2009/12/14(月) 18:19:02 ID:???] >>505 お前の言うポストバックする方法ってのはいまいち理解できん ASP.NETでポストバックじゃない方法があるのか?(MVCはしらん) 具体的にって言ってるんだから、サンプルコードでも出してみてくれ ASP.NET AJAXの何を利用するんだ?具体的な関数やコントロールは?
507 名前:nobodyさん mailto:sage [2009/12/14(月) 18:26:10 ID:???] !!!!!!!!!!!!!!!!!!!!!!!!!! >ASP.NET AJAXの何を利用するんだ?具体的な関数やコントロールは? >ASP.NET AJAXの何を利用するんだ?具体的な関数やコントロールは? >ASP.NET AJAXの何を利用するんだ?具体的な関数やコントロールは? >ASP.NET AJAXの何を利用するんだ?具体的な関数やコントロールは?
508 名前:nobodyさん mailto:sage [2009/12/14(月) 18:26:44 ID:???] 具体的にって突っ込みされたら「具体的も何も(ry」って返ってくるだけw あんまり苛めてあげないでw
509 名前: ◆OUFPNullPo mailto:ShowMessage [2009/12/14(月) 18:38:01 ID:???] OK把握した(`・ω・´) 代わりに俺が書いて見るぜ。 まずは、ToolKitインストールするからちょっとまってね(´・ω・`)
510 名前:nobodyさん mailto:sage [2009/12/14(月) 18:53:18 ID:???] mattberseth.com/blog/2007/07/modalpopupextender_example_for.html
511 名前:nobodyさん mailto:sage [2009/12/14(月) 19:03:02 ID:???] >>510 ModalPopupとUpdatePanelつかってやるのが一番一般的だね。 同じようなサンプルだけど、この辺↓も。 msdn.microsoft.com/ja-jp/magazine/cc164247.aspx まあ、いずれにせよ、AJAXを導入しただけじゃ駄目だし、別にGridViewのイベントを フック(今読むとこれも意味不明だw)してる訳でもないし、AJAX導入だけで出来る と主張してる奴はもっと違うやり方なんだろうなw ちなみにGridViewを使う必要がないなら、DynamicContextという手もある。
512 名前: ◆OUFPNullPo mailto:ShowMessage [2009/12/14(月) 19:17:58 ID:???] あらら、先にサンプルかかれちゃった(´・ω・`)ショボーン >>511 いや、基本それと同じでしようね。 GridViewのイベントハンドラメソッド内で、何らかのデータを取得して表示させるというのは >GridViewのイベントをフックして、その明細を表示するIDを取得して、 >普通にDataSetに明細データを読み込んで表示させればいい。 が意味してるんでしょう。 んで、データを後からもってくるというのは、PostBackせずに部分PostBackで ModalPopup内の表示を変更するということで、AJAXがコードを記述しなくてもやってくれる =AJAXを設定するだけでOKということだね。
513 名前:nobodyさん mailto:sage [2009/12/14(月) 19:24:47 ID:???] controlのイベントメソッドへの記述を「イベントフック」等と普通言わないし、 2つのサンプルを見ても、AJAXの導入&プロパティの設定だけで期待する動作が 出来ているようには見えない。ModalPopupExtentionやUpdatePanelと言った単語 も一度として出てきていない。 AJAXの導入だけで普通出来る、と言ってる奴は自分では判ってるのかも知れんが、 少なくとも人に伝える、人に教える技術と言う点では全く完全に論外。
514 名前:nobodyさん mailto:sage [2009/12/14(月) 19:30:10 ID:???] >>512 >PostBackせずに部分PostBack 更新が部分的なだけでPostBackは常にページ全体が送られてきていたような。
515 名前: ◆OUFPNullPo mailto:ShowMessage [2009/12/14(月) 19:36:01 ID:???] >>514 UpdatePanel内でしかポストバックしないと思うけど、どうだったかなぁ >まったく同じコントロールをUpdatePanelコントロールの中に入れるだけで、 >全体ポストバックではなく、AJAXの部分更新となり、ページの履歴も残らなくなります(図8)。 codezine.jp/article/detail/1470?p=2
516 名前:nobodyさん mailto:sage [2009/12/14(月) 19:46:37 ID:???] >>513 >controlのイベントメソッドへの記述を「イベントフック」等と普通言わないし、 それは言い掛かりだろ。 >イベントハンドラ >イベントが発生した際に実行すべきサブルーチンのこと。イベントフック、イベントリスナーなどの呼び方がある。 >AJAXの導入&プロパティの設定だけで期待する動作が出来ているようには見えない。 だれがAJAXを導入して、プロパティ設定だけすれば実現できるなんて書いてる? 「ポストバック時と同じように書いて、AJAXを利用すれば要求を実現できる」と記述してるだろうが。 いちいちすべて教える義務なんて俺らにはないんだからさwww AJAXやってみなよ。やればわかるよ?みたいなスタンスでどこが悪いの? >AJAXの導入だけで普通出来る、と言ってる奴は自分では判ってるのかも知れんが、 >少なくとも人に伝える、人に教える技術と言う点では全く完全に論外。 自分がわからない事を懇切丁寧に教えて貰えないからといって、文句言わない。 泣かない。逆切れしない。 お前がASP.NET AJAXについて何も知らなかっただけだろ? ASP.NET AJAXを知った今ならどう思う? 普通にポストバックするように記述して、ASP.NET AJAX導入すれば実現できるよ? って言われたらその通りだろ?ww
517 名前:nobodyさん mailto:sage [2009/12/14(月) 20:01:17 ID:???] まあ、そろそろお二人でメールかなにかでやり取りしてください。
518 名前:nobodyさん mailto:sage [2009/12/14(月) 20:08:15 ID:???] でも、知らないテクノロジを持ち出されて理解できないからって、 自らの不勉強を棚に上げて、 教えるほうが悪いって言われても困るよな。
519 名前:nobodyさん mailto:sage [2009/12/14(月) 20:19:44 ID:???] >>516 普通、あらかじめ用意されている標準のイベントに対しては、フックという表現はあまり使われないと思うがな で、ここまででお前から具体的な内容はなにもないのな まさかお前、ASP.NET AJAXってUpdatePanelしか無いと思ってないか?
520 名前:nobodyさん mailto:sage [2009/12/14(月) 20:31:30 ID:???] >>515 なるほど。 個人的にはその記事の「AJAXの部分更新」というところを 部分Postbackとは呼ばず「更新が部分的」という言葉で表した感じ。 一例としてMSDNでは「部分ページレンダリング(Partial-page rendering)」としている。 msdn.microsoft.com/ja-jp/library/cc295299.aspx その記事の全体ポストバック、部分ポストバックは、 MSDNでは同期ポストバック、非同期ポストバックに当たる気がする。 で、言いたかったのはこれ。こっちの言い方も悪かったね。 >リクエスト・データには「通常のポストバックと同様のデータが含まれている」 www.atmarkit.co.jp/fdotnet/dotnettips/672aspajaxasyncpost/aspajaxasyncpost.html ↑これについての認識が同じなら、用語の選び方の差だね。
521 名前:nobodyさん mailto:sage [2009/12/14(月) 20:41:22 ID:???] そんな常識をいまさらお勉強して知識を披露されてもねぇ
522 名前:nobodyさん mailto:sage [2009/12/14(月) 20:42:19 ID:???] >>519 >普通、あらかじめ用意されている標準のイベントに対しては、フックという表現はあまり使われないと思うがな いちいち言葉の概念とか詳しく記述しないと、とことんまで揚げ足とりかよ。 aspxは、それぞれが一つのクラスで表現されていて、コントロールが発生するイベントは、 そのページを表すパーシャルクラスに宣言された一つのメソッドを実行してるに過ぎないんだぜ? つまり、イベントをフックする(ひっかける)とは、aspxにメソッドを用意して、 サーバコントロールでイベント発生時に、そのメソッドを実行するように設定することだ。 >で、ここまででお前から具体的な内容はなにもないのな これまで書いたことはすべて無視か? 知らずに無知をひけらかして逆切れしたのはお前のほうだろ?w >まさかお前、ASP.NET AJAXってUpdatePanelしか無いと思ってないか? ほほー勉強してるようだね。感心感心。
523 名前:nobodyさん mailto:sage [2009/12/14(月) 20:58:19 ID:???] このスレってすぐ荒れるよな。
524 名前:nobodyさん mailto:sage [2009/12/14(月) 21:05:02 ID:???] ほとんど知らない奴の逆切れだけどな ちゃんと教えてくれないとか、意味がわからないとか、そんな不満をこのスレで発散 日本の技術力が衰退するわけだよ
525 名前:nobodyさん mailto:sage [2009/12/14(月) 21:15:00 ID:???] 約1名必死なのがいてワロス > 2つのサンプルを見ても、AJAXの導入&プロパティの設定だけで期待する動作が > 出来ているようには見えない。 ↓ > だれがAJAXを導入して、プロパティ設定だけすれば実現できるなんて書いてる? ↓ >> つまり>>484 の通りに作って、「ASP.NET AJAXを導入」しさえすれば、 >> >>497 に書いてある通り、「コーディングレスでAjaxを実装できる」ということ。 どう読んでも 「コーディングレスで出来ます」 と言ってるようにしか読めません('A`
526 名前:nobodyさん mailto:sage [2009/12/14(月) 21:16:41 ID:???] >>525 これのどこがコーディングレスなのか詳しく。 >じゃ、こういえばいいのかな。 >GridViewのそれぞれの行にButtonを設置するよね。 >でそのButtonクリックでイベントを発生させて、その行のデータのIDを引数として渡す。 >んでaspxでそのイベントをフックして、IDを取得できるので、 >そのIDから、データベースよりデータを取得して、DataSetに格納する。 >さらに任意のサーバコントロールを設置して、ダイアログ画面として表示させ、 >そのダイアログの画面の、それぞれのサーバコントロールにDataSetに取得したデータを表示させる。
527 名前:nobodyさん mailto:sage [2009/12/14(月) 21:19:40 ID:???] >>525 コーディングレスでAjaxを実装できるとは書いてあるが、 コーディングレスでできるなんてどこにも書いてないよな? どこにコーディングレスでできるって書いてあるんだ?
528 名前: ◆OUFPNullPo mailto:ShowMessage [2009/12/14(月) 21:30:51 ID:???] >>525 それは、部分更新をするAjax化がコーディングレスで実装できるという意味だと思うので、 間違っていないと思いますよ >>466 ,475さんの聞きたいことは、 「クリックされたタイミングでデータを取得してページを部分書き換えしたい」 ということなんで「ページの部分書き換え=Ajaxを利用すれば実現できますよ」 で間違っていないと思いますよ。 文章からはデータを取得する方法までは聞かれていないと思うので、 その方法を書いていないからおかしいというのは、極論すぎると思います〜