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/
703 名前:698 [2010/01/08(金) 11:12:24 ID:RDdQRMi8] >>699 反応ありがとうございます。 PARAMタグ・・・activeXでの埋め込みの話じゃないでしょうか? SilverrightでもPARAMタグの使用は可能なのですか? >>700 反応ありがとうございます。 変数ですか、一度試してみます。 当方初心者なので出来るか不安がありますが・・・。orz >>701 反応ありがとうございます。 @ITは私も利用しており、おっしゃる方法を以前に試しましたのですが、無理でした。 >>702 反応ありがとうございます。 そうですね・・・ データバインドという表現が間違っていたかも知れません。 具体的なお話をすると、 指定のフォルダに動画をアップロードし、 同時に、その動画ファイル名をSQLdbに登録。 それをgridviewでサムネイル表示させ、選択すると、 Mediaplayerで再生されるというシステムを作っています。 現在、サムネイル表示までは完成しているのですが、 Mediaplayerへの接続がうまくいかない状態です。
704 名前:nobodyさん mailto:sage [2010/01/08(金) 12:10:48 ID:???] >>703 指定のフォルダに動画をアップロードしてあるのなら、 そのままそのパス名をMediaPlayerコントロールに設定するだけでは? まずは、ちゃんとパスが通っているのか確かめたほうがいいよ。 サンプルを見ると↓みたいになっているからURLを記述するんだと思うけど、 サーバのHDD上の絶対パスで指定しているとか。 <a href="パス名">FILE</a>の記述でブラウザからダウンロードできるかとか。 <asp:MediaPlayer ID="MediaPlayer1" runat="server" AutoPlay="True" Height="480px" MediaSource="~/Media/Silverlight.wmv" Width="640px" /> ひょっとしたらセキュリティの関係でファイルへのアクセルが禁じられている可能性もあるし。
705 名前:nobodyさん mailto:sage [2010/01/08(金) 12:47:06 ID:???] >>703 環境はSiverlight2ですか? Siverlight3だとデフォルトでは、<asp:silverlight><asp:MediaPlayer>は 使えないですから、<object>タグを使ってくださいって事になっているはずです。 >>704 が言っているように、httpでアクセスできない場所にファイルがあるような気がしますね。
706 名前:698 [2010/01/09(土) 10:23:48 ID:lCGOBp11] >>704 返答ありがとうございます。 一度試してみましたが、セキュリティの問題は大丈夫でした。 >>705 返答ありがとうございます。 環境はSiverlight3です。 <asp:MediaPlayer>タグに関してですが、 は使用できるようにdllファイルを認識させて使えるようにしてあります。 少し調べていて、 データベースから指定の動画データを取得して返すHTTP ハンドラ(*.ashx)を作って、 それをSourceに指定すれば可能ということが分かりました。 HTTP ハンドラとか.ashxとかさっぱり意味不明ですが、少しやってみます。 ありがとうございました。
707 名前:nobodyさん mailto:sage [2010/01/09(土) 12:11:19 ID:???] >データベースから指定の動画データを取得して返すHTTP ハンドラ(*.ashx)を作って、 データベースに動画データを保存してるなら、最初からそういわないと・・・ >指定のフォルダに動画をアップロードし、 >同時に、その動画ファイル名を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でできるかどうかわからんけど。
708 名前:698 [2010/01/09(土) 14:52:56 ID:lCGOBp11] >>707 実は、最初は動画データはHDD上にファイルとして保存していて、 ファイル名だけをDBに保存していたのですが、 動画データ自体をバイナリデータ化した方が良いと指示を受け、 今朝変更したんです。 質問をしておきながら、現状報告を怠ってしまいすみませんでした。 アドバイスありがとうございます。 ヒントを元に調べて修正してみます。
709 名前:nobodyさん [2010/01/14(木) 13:59:20 ID:VstkAvlu] すみません OJT中の課題で、SNSシステム的なものの習作を作っています。言語はC#です。 AccessDataSourceコントロールを使って、AccessのDBと接続し、ユーザー情報などを読み書きする仕組みで作っています。 ログインページやプロフィールページ、それぞれ別のaspxファイルに分かれていますが、 現状だと、それぞれでこのAccessDataSourceコントロールを配置し、同じmdbファイルをデータソースとして指定し、 それぞれのページでSQLを投げて読み書き。 問題無く動作してはいますが、こうやって同じコントロールを複数ページに貼る作り方は正しいですか? なんか冗長しているように思えて。 もし複数ページにまたがって共通で使えるオブジェクトをどこかに作っておいて使いまわすようなことは可能ですか?
710 名前:nobodyさん mailto:sage [2010/01/14(木) 14:14:18 ID:???] >>709 ユーザーコントロールでも作ればええんじゃない
711 名前:nobodyさん mailto:sage [2010/01/14(木) 16:50:10 ID:???] >>709 その辺はシステム全体の設計構想による つか、OJTで疑問に感じたら、なぜ指導されてる上司や先輩なりに質問しない?
712 名前:709 [2010/01/14(木) 17:05:59 ID:VstkAvlu] OJTと言っても、自分で課題を考えて進捗を定期的に上司に送るだけで、放置されてるのです;; 先輩はみんな客先常駐ゆえ。
713 名前:nobodyさん mailto:sage [2010/01/14(木) 18:49:46 ID:???] >>712 Accessでできるかどうかわからないけど、自分なら型付きDataSetをVSに自動生成させて、それを使うな
714 名前:nobodyさん mailto:sage [2010/01/14(木) 19:45:44 ID:???] じゃあ次はその作り方が正しいかどうか考えるのを課題しすれ そして共通に使えるオブジェクトが作れるがどうか考えるの課題にして そのオブジェクト作るの課題にして、使いまわするの課題にすれ よかったな、課題がいっぱいできて あ、質問に答えておこうw >問題無く動作してはいますが、こうやって同じコントロールを複数ページに貼る作り方は正しいですか? 正しいかどうかは設計構想による >複数ページにまたがって共通で使えるオブジェクトをどこかに作っておいて使いまわすようなことは可能ですか? 可能
715 名前:nobodyさん mailto:sage [2010/01/16(土) 14:01:02 ID:???] >710-714 の回答側が頭悪すぎてワロスw 特に >710。 >709 の質問に対してユーザコントロールとか頭弱いの? >>709 何が正しいかは状況によるので正しい・正しくないを決め付ける事は出来ないが、作りとしてはダサい。 2〜3画面しかないような小さいソルートンなら有りだと思うけど、通常は >複数ページにまたがって共通で使えるオブジェクトをどこかに作っておいて使いまわす ↑の方法を取るよ。DBアクセスだけ別クラスに分離させて、きちんと層を分けたほうがいい。
716 名前:nobodyさん mailto:sage [2010/01/16(土) 14:49:40 ID:???] そうかなぁ。べつにいいんじゃないの? 同じコントロールをっていうけど、それと、 共通で使えるクラスを使いまわすってのと同じだと思うけどな。 あ、オブジェクトを複数ページ間で使いまわす方ですか? シリアライズしてDBに突っ込んどいてセッション使って使いまわすんでしょうか。
717 名前:nobodyさん mailto:sage [2010/01/16(土) 15:22:45 ID:???] そうかなぁ >713 名前: nobodyさん [sage] 投稿日: 2010/01/14(木) 18:49:46 ID:??? >Accessでできるかどうかわからないけど、自分なら型付きDataSetをVSに自動生成させて、それを使うな 少なくともこれは型付きDataSetのクラスを定義しておいて、 ページごとにそのクラスのインスタンスを生成して利用する方法じゃんね? >>716 >あ、オブジェクトを複数ページ間で使いまわす方ですか? >シリアライズしてDBに突っ込んどいてセッション使って使いまわすんでしょうか。 たぶんstatic変数を宣言して使い回ししてるんじゃね?ww
718 名前:nobodyさん mailto:sage [2010/01/16(土) 18:08:40 ID:???] >>715 は教えてクンで一番頭弱かった件
719 名前:nobodyさん mailto:sage [2010/01/16(土) 18:59:26 ID:???] >>718 ツマンナイ煽りはいいから、なんか役に立つこと書けば?
720 名前:nobodyさん mailto:sage [2010/01/16(土) 19:31:19 ID:???] >>719 w そう罵り合って互いに永久ループし続ける?ww 無知無能を棚上げして↓みたいなレスしたのが原因なんだろ? >>710-714 の回答側が頭悪すぎてワロスw >特に >710。 >709 の質問に対してユーザコントロールとか頭弱いの? 煽るセリフなんて要らないだろうが。なぜわざわざ煽ることするんだ? ただ自分が思う回答をすればいいだけだろ。 いちいち煽るなんてのは社会性ゼロの奴がやることだ。 前回のソース示せ厨と同一人物なのは間違いないな
721 名前:nobodyさん mailto:sage [2010/01/16(土) 19:32:32 ID:???] 見苦しいなぁ。もうお前氏ねよ。
722 名前:nobodyさん mailto:sage [2010/01/16(土) 20:44:11 ID:???] 俺はいちいち他人のレスにつっこみ入れて煽ってるほうが見苦しいと思うよ しかも見当違いだし
723 名前:nobodyさん mailto:sage [2010/01/17(日) 00:39:29 ID:???] 自演乙 >722=720
724 名前:nobodyさん mailto:sage [2010/01/17(日) 11:10:13 ID:???] 自演乙 >721=>>723
725 名前:nobodyさん mailto:sage [2010/01/17(日) 17:39:33 ID:???] 初心者(工学部非情報系)です。 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 です。 よろしくお願いします
726 名前:nobodyさん mailto:sage [2010/01/17(日) 17:45:11 ID:???] localhost、とか書けばよかったと思う
727 名前:nobodyさん mailto:sage [2010/01/17(日) 18:59:11 ID:???] >>725 ポートについてはこの辺が詳しいんじゃないかな。 www.atmarkit.co.jp/fdotnet/dotnettips/701devserverport/devserverport.html 自分自身のPC上に仮想的なサーバを構築して、そこでASP.NETを動かすのが開発サーバの役目なんだが、 自分自身上で動いているので、自分自身にアクセスする必要がある。 んで、自分自身を表すIPアドレスとして127.0.0.1=localhostをローカルループバックアドレスを使うのが普通。 www.atmarkit.co.jp/fwin2k/win2ktips/803localhost/localhost.html 可能ならIISをインストして開発サーバじゃなくてIIS上でやったほうがいいと思う。 だけどHomePremiumだと、IISの使用に制限があったりして、デバッグ環境の構築が ちょっと難しいんじゃなかったかな。 ノートで複雑なことしなくちゃいけなくて、VistaBuissnessを買えばよかったとちょっと後悔した記憶がある。
728 名前:nobodyさん mailto:sage [2010/01/17(日) 21:39:28 ID:???] >>725 まず、お前のネットワーク環境で、プロキシを使ってるのかどうか管理者に確認しろ 話はそれからだ
729 名前:nobodyさん mailto:sage [2010/01/17(日) 21:45:18 ID:???] 開発サーバってスタンドアロン環境で使うものじゃないの? スタンドアロンならプロクシは関係なくないのかな?
730 名前:725 mailto:sage [2010/01/17(日) 23:10:33 ID:???] みなさん、ありがとうございます。 >>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
731 名前:nobodyさん mailto:sage [2010/01/17(日) 23:30:18 ID:???] support.microsoft.com/kb/303650/ja これ絡みなのかな。 入力はlocalhostで良いかと。
732 名前:nobodyさん mailto:sage [2010/01/17(日) 23:34:45 ID:???] ああ、ダメなのか。じゃ違う原因じゃないの? htmlファイルも見えない?
733 名前:nobodyさん mailto:sage [2010/01/17(日) 23:36:27 ID:???] >>730 まずははっきりさせて置いた方がいいと思うんだけど、 自分の使用しているPCでVisualStudioを動かせて、さらに開発サーバも同じPCでやろうとしてるんだよね? >A次に、IEの「インターネットオプション」→「LANの設定」→プロキシサーバで、「アドレス」=localhost or 127.0.0.1、「ポート」=5000にする。 > 「ローカルアドレスには〜」にもチェックON。 そのままだと、自分のPCでは、とうぜんプロクシは動作していないから、表示できませんになると思う。 IEのプロクシ設定は何もしなくてokのはず。
734 名前:nobodyさん mailto:sage [2010/01/17(日) 23:45:10 ID:???] >>715 ねぇねぇ、お前様は何かアドバイスとかないの? それとも頭が悪いから回答できないの?
735 名前:725 mailto:sage [2010/01/17(日) 23:50:20 ID:???] >自分の使用しているPCでVisualStudioを動かせて、さらに開発サーバも同じPCでやろうとしてるんだよね? →そうです。自宅のおもにインターネットで使用する程度の個人PCにvwdをインストールして、動かそうとしています。 「デザイン」や「ソース」は普通に操作したり見たりできますが、ラベルに「Hello」と記述してデバッグすると表示できません。 ちなみに、今気づいたんですが、実行中でIEが「Internet Explorer ではこのページは表示できません」と表示している間にvwdの画面をみると、ソリューションエクスプローラのところに errorPageStrings.js httpErrorPagesScripts.js という2つのjsファイルが表示されていました。 関係ないですかね・・・
736 名前:nobodyさん mailto:sage [2010/01/18(月) 00:04:32 ID:???] じゃ、こっちかな 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 に
737 名前:725 mailto:sage [2010/01/18(月) 00:14:15 ID:???] >>736 いろいろとすみません。 hostsファイルを確認してみたら、以下の2行が書かれていました。 127.0.0.1 localhost ::1 localhost ためしに「#::1 localhost」としてコメントにしてみましたが、結果は変わりませんでした。 みなさん、アドバイスを本当にありがとうございます。 状況は変わりませんが、引き続き明日も試してみます。 また状況をお伝えに来たいと思います。
738 名前:nobodyさん mailto:sage [2010/01/18(月) 00:29:10 ID:???] >>735 IEのプロクシ設定は元に戻した? というか、へんなプロクシ設定したら、他のサイトをみようとしたときも ページが表示されません的なページが表示されるはずだから、わかるか
739 名前:nobodyさん mailto:sage [2010/01/18(月) 03:57:38 ID:???] >>729 開発サーバはローカルで使うものだが、IEがプロキシを使う設定になってると loaclhostへの参照もプロキシを使おうとして表示できないって現象が起こる >>730 お前のネットワークにプロキシがあって、IEがプロキシを使う設定になっていれば関係ある そうでなければプロキシは関係ない だから、まずお前の環境でプロキシを使ってるのかどうかはっきりさせろ つぎに、ファイアウォール関係のソフト動かしてないか確認しろ hostsファイルとかチェックするのはそのあとだ。普通はまず関係ない
740 名前:nobodyさん mailto:sage [2010/01/18(月) 15:26:58 ID:???] ループバックアドレスならFWいれてても関係ないんじゃないかな あまりそういう現象にでくわしたことがない
741 名前:nobodyさん mailto:sage [2010/01/18(月) 23:52:32 ID:???] チェックボックスがオンの場合でもオフの場合でも値をPOSTするようなコントロール が欲しいんですが、カスタムコントロールで作成可能でしょうか? CheckBoxとHiddenコントロールを組み合わせて作ろうとしたんですが、なんかうま くいきませんでした。
742 名前:nobodyさん mailto:sage [2010/01/18(月) 23:56:46 ID:???] 質問の意味がよくわからないがAutoPostBackのことか?
743 名前:725 mailto:sage [2010/01/19(火) 00:37:30 ID:???] 昨日、プロキシetcで質問したものです。 >>730 プロキシは使わない設定でした。 そして、セキュリティソフトを一度アンインストールしてみました。 そうしたら無事に動作しました。 セキュリティソフトを再インストールしたら、再度デバッグで動作しなくなりました。 セキュリティソフトの「プロトコルフィルタリング」なるものを無効にしたら、デバッグから表示できるようになりました。 いろいろとありがとうございました。 本当に助かりました。 今後も参考にさせてもらいます。
744 名前:nobodyさん mailto:sage [2010/01/19(火) 04:37:48 ID:???] >>741 そういうコントロールも作れば作れないことはないと思うが オンでもオフでも値をpostするってことは、常に値をpostするってことだろ その値のhiddenタイプのinput項目を作っとくだけじゃだめなのか? チェックボックスは別の値で作っとけ >>742 htmlフォームではチェックボックスはチェックされているときのみ値をpostする つまりその値がpostされてるかどうかでチェックされてるかどうかを判定するんだよ
745 名前:nobodyさん mailto:sage [2010/01/19(火) 08:50:22 ID:???] >>741 なにをしたいのか今ひとつわからんが Postbackしてきたときに、プロパティをチェックするんじゃ駄目なのか? checked=true/falseで判別がつくと思うんだが
746 名前:nobodyさん mailto:sage [2010/01/19(火) 09:32:15 ID:???] AutoPostBackとの違いがわからん
747 名前:nobodyさん mailto:sage [2010/01/19(火) 10:57:29 ID:???] onとoffで両方ともvalue="**"を送信したいってことは、 javascriptなんかで、checkboxのvalueを動的に変更、 またはcheckboxそのものを動的に生成してるってことなんかね。 なんかその他の方法があるかもしれないけど、 今思いつくのはcheckboxの数だけhiddenfieldを設置して、 そこに値を入れておくな。checkboxのvalueはあくまでtrueやfalseを意味するものにしておく。
748 名前:nobodyさん mailto:sage [2010/01/19(火) 15:20:20 ID:???] >>745 俺にも何がしたいかいまいちよくわからんが、可能性がありそうなのは ポストバックじゃなくて別のhtmlページにPostしたいとかじゃないかと 本人がもうちょっと詳しく説明してくれればいいんだが >>746 AutoPostBackはただ単に、チェックボックスをチェックしたり外したときに 自動的にPostさせる機能 チェックを外したときにPostは実行されるが、そのPostされたデータに チェックボックスの値は含まれていないわけだよ
749 名前:741 mailto:sage [2010/01/19(火) 21:24:12 ID:???] >>747 CheckBox(runat=serverを書かない)とHidden(runat=serverを書く)を必ず対で配置 して、CheckBoxのonclickでJavaScriptでHiddenの値を書き換えて、submitされたら Hiddenの値でCheckBoxのON/OFFを読み取る、というのは普段やっている手段です。 ただ、これを1つにまとめたカスタムコントロールが作れないものかと思ったので。 >>745 事情があって、Context.Response.Paramsの中にチェックオフの値を返したいんです。 コントロールのプロパティを参照するというのが訳あって出来ないので。
750 名前:nobodyさん mailto:sage [2010/01/19(火) 23:14:27 ID:???] CheckBoxがASP.NETで言うところのサーバコントロールでないというのは、これが初の情報? それだと想定外だったから、イマイチよくわからないな・・
751 名前:nobodyさん mailto:sage [2010/01/19(火) 23:25:48 ID:???] どんな事情なんだろ。 全部のチェックボックスなめればいいんじゃないの?
752 名前:nobodyさん mailto:sage [2010/01/20(水) 00:21:52 ID:???] もし作るからHiddenFeildをベースにしたコントロールを作って、Renderでチェックボックスも一緒に生成すればいいのかな JavaScriptはガリガリ書かないと駄目かな
753 名前:nobodyさん mailto:sage [2010/01/20(水) 01:19:04 ID:???] >>750 お前アフォだろ・・・・
754 名前:nobodyさん mailto:sage [2010/01/20(水) 12:53:08 ID:???] >>753 クスクス
755 名前:nobodyさん mailto:sage [2010/01/20(水) 15:01:06 ID:???] >>749 こんなユーザコントロールを作って、 <%@ 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()); }
756 名前:nobodyさん mailto:sage [2010/01/20(水) 15:01:54 ID:???] こんな風なJavaScriptを書けば、ポトペタだけで実装できるんじゃないかな。 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 クスクス
757 名前:nobodyさん mailto:sage [2010/01/20(水) 15:06:48 ID:???] if文はまどろっこしいから、これでもいいか。 $("#" + controlName + "_HiddenField1")[0].value = $("#" + controlName + "_CheckBox1")[0].checked;
758 名前:nobodyさん mailto:sage [2010/01/20(水) 18:43:48 ID:???] >>753 煽ることしかできない無能
759 名前:nobodyさん mailto:sage [2010/01/20(水) 22:08:23 ID:???] 暇だったんでカスタムコントロール作る方法で考えてみた こんな感じでどうだ 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!なはず
760 名前:nobodyさん mailto:sage [2010/01/20(水) 22:27:26 ID:???] >>759 お、そのほうがいいんじゃね? そうか、CheckBoxのOnClickに、そのままJavaScriptで書き込んでしまえばいいのか。 自分は同じScriptが何度も記述されるのが嫌だったので、別途functionを別途容易しちゃったけど、 簡便さではそのほうがいいかもしれん
761 名前:nobodyさん mailto:sage [2010/01/21(木) 03:54:24 ID:???] お前ら暇やさしいな
762 名前:nobodyさん mailto:sage [2010/01/21(木) 07:45:31 ID:???] クスクス
763 名前:nobodyさん mailto:sage [2010/01/21(木) 15:38:25 ID:???] すみません。 誰かお暇なかた教えてください。 VWDで Default.aspx に LoginView1 を配置し、LoggedInTemplate の中に label1 を配置しました。 Default.aspx.cs で、label1 にアクセスしたかったのですが見えません。 LoginView1.LoggedInTemplate. としても label1 は見えません。 どうすれば label1 にアクセスできますか?
764 名前:nobodyさん mailto:sage [2010/01/21(木) 17:52:19 ID:???] Label myLabel = (Label)this.LoginView1.FindControl("Label1"); if (myLabel != null) myLabel.Text = "test";
765 名前:nobodyさん mailto:sage [2010/01/23(土) 21:58:41 ID:???] >>764 ありがとう!! まだやってないけど試してみる!
766 名前:nobodyさん [2010/01/26(火) 19:29:34 ID:tqAuz1f1] FormviewでDfaultModeをinsert この状態で、デフォルト値の設定したいのですが どうすれば可能でしょうか。
767 名前:nobodyさん mailto:sage [2010/01/27(水) 00:17:23 ID:???] 2個上見ても分からないか?
768 名前:nobodyさん [2010/01/27(水) 11:41:52 ID:idsxMd/1] >>767 ごめん見てなかった。普通にできた。 んじゃあ、例えば、 Gridviewとかで選択した項目を formviewINSERTのデフォルト値として反映させたい場合はどうすればいいの? 探したが文献見つからん。 トーシローなんでお手柔らかに教えて下さいエロい人。
769 名前:nobodyさん mailto:sage [2010/01/27(水) 13:07:27 ID:???] OnItemCommandだかのイベントが発生し、 実行されるメソッドの引数にボタンクリックされた行数が格納されてるから、 それをキーにデータ取得して表示させればいいんじゃね?
770 名前:nobodyさん mailto:sage [2010/01/27(水) 16:33:13 ID:???] 初学者です。 10日でおぼえるASP.NET3.5入門教室 という本をやりました。 雰囲気はつかめましたが、まだまだ何か作れるという感じはしません。 次は何に取り組めばよいでしょうか?
771 名前:nobodyさん mailto:sage [2010/01/27(水) 16:39:42 ID:???] プログラムは入門書を一通りやるのも大事だけど、 とりあえず何かを苦労して作ることが一番大事だと思う。 その過程で分からない事が山のように出てくるはずだからね。 まずは、Webアプリ系としてはDBを使用したゲストブックが無難かな 投稿できて、最新の投稿から順番に並んでるみたいな。
772 名前:768 mailto:sage [2010/01/29(金) 16:47:09 ID:???] >>769 やってみたができん・・・・。 ググっても本屋でも文献見つからん・・・・。 とりあえず、Gridviewで選択。 選択した内容をformViewのinsertModeのそれぞれのTextBoxに初期値として飛ばしたいが、 わかる人いないか? 教えてエロい人
773 名前:nobodyさん mailto:sage [2010/01/29(金) 18:43:10 ID:???] 選択ボタン作ったら、GridViewをダブルクリックだ。 そうすると SelectedIndexChangen んが出るんで、 そんなかで GridView1.SelectedRow なり好きなもの使って好きにやれ。
774 名前:nobodyさん mailto:sage [2010/01/29(金) 20:00:37 ID:???] >>772 >選択した内容をformViewのinsertModeのそれぞれのTextBoxに初期値として飛ばしたい なんとなくSelectedRowからFIndControlして値を取り出す予感がするので一応。 GridViewの選択行からキーとなる項目を取り出してSELECT文を発行、 戻り値のDataTableなりなんなりをFormViewにバインドって流れな。
775 名前:768 mailto:sage [2010/02/01(月) 10:08:13 ID:???] >>773 、774 ありがとう、一応、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なりなんなりってのが いまだに本読んでもイマイチ理解してなくて。 そこらへんの内容を学べる本とかサイトとか教えてくれるとありがたい
776 名前:nobodyさん mailto:sage [2010/02/01(月) 16:47:32 ID:???] Microsoft Visual Studio 2005によるWebアプリケーション構築技法を まず読め。初心者向けの良い本だ。
777 名前:nobodyさん mailto:sage [2010/02/01(月) 18:53:47 ID:???] >>775 TableAdapterの自動生成ウィザードまじお勧め www.atmarkit.co.jp/fdotnet/vs2005db/vs2005db_07/vs2005db_07_01.html msdn.microsoft.com/ja-jp/library/7zt3ycf2.aspx msdn.microsoft.com/ja-jp/library/ms379590%28VS.80%29.aspx
778 名前:768 mailto:sage [2010/02/01(月) 19:30:00 ID:???] >>776 、777 こんな学生相手に皆親切にしてくれてありがとう・・・。 とりあえず読んでがんばてみるお!! Microsoft Visual Studio 2005によるWebアプリケーション構築技法 って本についてだが、今使ってんのVS2008なんだけど応用できるかね? まあそれ以前に解読できるかが問題だが・・・・。 あと、このスレの今までの内容見てて思ったんだが、 Formviewを使わないで表示とかできちゃうもんなの?
779 名前:nobodyさん mailto:sage [2010/02/01(月) 19:49:00 ID:???] >Microsoft Visual Studio 2005によるWebアプリケーション構築技法 >って本についてだが、今使ってんのVS2008なんだけど応用できるかね? 基本的な仕組みは変わってないから役立つんじゃない? VS2005の機能でも十分に事足りてるし、VS2008ではC#3.5とASP.NET AJAXの機能ぐらいしか使ってないな。 >Formviewを使わないで表示とかできちゃうもんなの? 自分はデザインやClientScriptの関係からFormViewはほとんど使わない。 コントロールを手動で配置して、手動でデータを取得して表示させてる。 GridViewなんかもほとんど使わないな。 基本的なコントロールとRepeaterで事足りてる。
780 名前:768 mailto:sage [2010/02/02(火) 18:36:31 ID:???] >>777 読んで実践して、なんとなく理解しました。 MSDNの関連記事も読んだけど、どんどん内容が枝分かれするせいか、 混乱してきて・・・これ結構読み込まないと厳しいですね頑張ります。 ありがとう。 >>779 これすごい。 実際、FormViewとかGridViewなんかより 自由度高いから極めたらいろいろ応用できそう。 Repeaterで作ってみたんだけど、今まで悩んでた、 formview,insertでのデフォルト値の問題に関しては解決できそうです。 ただ、Repeater内で記入した内容をデータベース(SQL)に挿入するってのは可能なんでしょうか? 一応、こんな記事を見つけたんだけど、これを応用してどうにかできないですか? www.c-sharpcorner.com/UploadFile/Mike%20Clark/PageI09042007215545PM/PageI.aspx
781 名前:nobodyさん mailto:sage [2010/02/02(火) 19:23:36 ID:???] >>780 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の編集ボタンを押した行のデータを表示させて、 編集さぜて保存するという方法もある。
782 名前:nobodyさん mailto:sage [2010/02/02(火) 19:59:54 ID:???] foreachを使わないと負けた気がする
783 名前:nobodyさん mailto:sage [2010/02/02(火) 20:10:06 ID:???] すんげー前のをコピペ流用してる奴だから許せw webなんてだいたい設計者によって、新規追加、編集、削除の画面遷移パターンが数パターンしかないからな
784 名前:nobodyさん mailto:sage [2010/02/02(火) 21:14:13 ID:???] ソース出せ厨がぐうの音も出ないほどのソースまるだしだな
785 名前:nobodyさん mailto:sage [2010/02/02(火) 21:24:13 ID:???] C#でASP.NETを始めましたど素人です。 質問なんですが、 サーバ側のC#だと、XmlDocumentやらArrayListやらのクラスを利用できるのですが、 クライアント側のC#だと、ライブラリ参照とかusingとか指定しても利用できないみたいなんですが そーいう仕様なのでしょうか? XmlDocumentとArrayListはけっこう頻繁に使用されるクラスだと思うのですが、クライアント側で使えないってのはけっこうダメージがでかいです。。。
786 名前:nobodyさん mailto:sage [2010/02/02(火) 21:39:41 ID:???] イミフ
787 名前:nobodyさん mailto:sage [2010/02/02(火) 21:43:07 ID:???] >>785 >クライアント側のC#だと、ライブラリ参照とかusingとか指定しても利用できないみたいなんですが ブラウザで動作するJavaScriptとかのこと? なら使用できないね。 独断的に言わせてもらえば、サーバ側はマイクロソフト製品だからなんとでもできるけど、 ブラウザはオープンな規格だからマイクロソフト仕様でそのまま使えることはない。
788 名前:nobodyさん mailto:sage [2010/02/02(火) 21:48:09 ID:???] あ、たぶん記述が足りなかったのですかね(すんません)。。。 クラ側をSilverlightで作成してて、言語はC#とザムルです。 クラ側のイベント処理がC#なんですが、なぜかXmlDocumentやArrayListが使用できない。 using System.Collections; using System.Xml; などは勿論指定しております。
789 名前:nobodyさん mailto:sage [2010/02/02(火) 21:53:22 ID:???] >>788 やっぱりsilverlightだったのか XML関連に関しては >.NET Framework と .NET Framework for Silverlight での XML 処理の違い >msdn.microsoft.com/ja-jp/library/cc189053%28VS.95%29.aspx を参照 ArrayListはジェネリクスのサポートで重複するからSilverlightでは削除されたはず。
790 名前:nobodyさん mailto:sage [2010/02/02(火) 22:08:19 ID:???] >>789 なるほど! ありがとぅ!
791 名前:768 mailto:sage [2010/02/04(木) 11:24:14 ID:???] >>781 やべえ、はじめてCommandArgumentの使い方が分かった。 ありがとうございました、解決しました!!
792 名前:nobodyさん mailto:sage [2010/02/06(土) 18:22:22 ID:???] 今回はAJAX君が絡んでこなくて良い流れだった
793 名前:nobodyさん mailto:sage [2010/02/06(土) 18:25:29 ID:???] 返答したのはすべてその人だけどな
794 名前:nobodyさん mailto:sage [2010/02/06(土) 22:14:49 ID:???] なんだソース教えて君が絡んでこなかったから良かっただけじゃん
795 名前:nobodyさん mailto:sage [2010/02/08(月) 11:59:25 ID:???] UpdatePanelを使って表示する要素を切り換えているのですが、 UpdatePanelの読み込みが完了した時に JavaScriptを走らせることはできませんか? 画面全体がリフレッシュされないため、 スクリプトが実行されていないようです。 どうかお願い致します。
796 名前:nobodyさん mailto:sage [2010/02/08(月) 13:22:09 ID:???] >>795 Sys.WebForms.PageRequestManager の pageLoaded イベント
797 名前:nobodyさん mailto:sage [2010/02/08(月) 14:48:26 ID:???] ScriptManager.RegisterStartupScriptでも可能だった記憶が あるゆる非同期更新後に常に実行させたいわけでなく、 特定のイベントでの非同期更新のみに実行させたい場合には、こっちのほうがいいかも。
798 名前:795 mailto:sage [2010/02/08(月) 14:58:18 ID:???] >796 うまく動きました。 こんなに簡単に実現できるなんて思いませんでした。 ありがとうございます。
799 名前:nobodyさん mailto:sage [2010/02/09(火) 01:52:06 ID:???] 今回はAJAX君はレスしたのかな?
800 名前:nobodyさん mailto:sage [2010/02/09(火) 07:24:23 ID:???] jQueryでやればいいよ
801 名前:nobodyさん mailto:sage [2010/02/09(火) 21:56:28 ID:???] ↑やればいいよじゃ回答になりません。AJAX君はちゃんとソースを提示してください。
802 名前:nobodyさん mailto:sage [2010/02/11(木) 18:16:27 ID:???] >>801 AJAX君はAJAXの事以外は何も分からないので回答出来ません。
803 名前:nobodyさん mailto:sage [2010/02/11(木) 18:37:11 ID:???] ↑とAJAX君が申しておりますw