1 名前:nobodyさん [2006/10/09(月) 10:04:09 ID:luJDzNn3] ●過去ログ Part1 - 【質問】 ASP.NETスレ 【議論】 pc5.2ch.net/php/kako/1040/10406/1040698263.html 【質問】ASP.NETスレ Part2【議論】 pc8.2ch.net/test/read.cgi/php/1111480331/
550 名前:nobodyさん [2007/04/14(土) 11:13:15 ID:gbSM0vt5] VS2003って使い勝手悪いな・・・ 2005使いたいけど仕事では2003じゃないと駄目なんだ・・・ オワタ・・・
551 名前:nobodyさん mailto:sage [2007/04/14(土) 14:41:22 ID:???] 弘法筆を選ばず
552 名前:nobodyさん mailto:sage [2007/04/14(土) 14:46:25 ID:???] >>551 俺が悪いって事か・・・orz
553 名前:nobodyさん mailto:sage [2007/04/14(土) 15:47:59 ID:???] >550 Vista対応を名目に2005に移行を促すのも手だと思うよ。 Vista上で1.1でもだいたいはそのまま動くからそれほど強く言えないけど。
554 名前:nobodyさん mailto:sage [2007/04/14(土) 16:29:19 ID:???] 新卒が同じようなこと言ってたな まだ2003使ってるんですか?って。
555 名前:nobodyさん [2007/04/14(土) 17:22:34 ID:bTaKBGMC] 2003も出た当時はアレだったんだが 2005と比べるとインテリセンスが微妙だしクリックワンコもついてないし でも2003ならSp2で1.1入れてるやつ多いだろうから配布のときらくだ
556 名前:nobodyさん [2007/04/14(土) 17:24:19 ID:bTaKBGMC] >>547 とんくす。 スンゲーわかりやすい
557 名前:nobodyさん mailto:sage [2007/04/14(土) 17:46:52 ID:???] 545です。 再び困りました。 型指定付きのDataSetにストアドの結果2つを追加してリレーションシップを設定しました。 で、ネストしたRepeaterに <asp:Repeater ID="Repeater2" runat="server" datasource='<%# Ctype(Container.Dataitem,DataRowView).CreateChildView("UserPageURLs_UserPageLinkList")%>'> としてコードビハインドで Dim ds As New DSUserPages Dim ta As New DSUserPagesTableAdapters.UserPageURLsTableAdapter Dim dt As New DSUserPages.UserPageURLsDataTable ta.Fill(dt, Session("UID"), CType("9999/12/31", DateTime)) ds.Tables.Add(dt) Repeater1.DataSource = dt Repeater1.DataBind() Dim dt2 As New DSUserPages.UserPageLinkListDataTable Dim ta2 As New DSUserPagesTableAdapters.UserPageLinkListTableAdapter ta2.Fill(dt2, Session("UID")) ds.Tables.Add(dt2) こんなことやってますが、リレーションシップがこの DataView がポイントするテーブルの親になっていません というエラーが出ます。 ネスト部分を消すとRepeater1は正常にデータを表示できます。 リレーションやキーの設定は間違ってないと思うのですが、どういうことでしょうか? こんなエラーはよっぽどの間抜けらしくヘルプでも項目が見つからないのです。
558 名前:nobodyさん mailto:sage [2007/04/14(土) 18:17:50 ID:???] >>557 追記。 ここでもエラーが出てました。 >ta2.Fill(dt2, Session("UID")) 追加しようとしたテーブルがインデックス違反をしているそうです。 これが原因かもしれません。
559 名前:344 mailto:sage [2007/04/14(土) 19:34:32 ID:???] >>557 544です。 VisualStudioで、型指定付きのDataSetのxsdを作成してるのかな? んで、そのデザイナ画面上でリレーショナルを設定しているということかな? なら、そのDataTableの使い方がおかしい。 DataSetのインスタンスを生成した時点で、そのメンバであるDataTableも 作成されているので、別途DataTableのインスタンスを生成して、データセットに addしなくてもいいはず。 必要な宣言は、 DSUserPages ds = new DSUserPages(); DSUserPagesTableAfapters.UserPaggeURLsTableAdapter dt = new ..... DSUserPagesTableAdapters.UserPageLinkListTableAdapter ta2 = new .... だけ。 DataSetに取得したデータを入れるには dt.fill(ds.UserPageURLsDataTable) dt2.fill(ds.UserPageLinkListDataTable) でok。 別途DataTableを作ってAddしてるのがまずおかしいので、そこから 直してみたほうがいいかもしれない。 それから、コレは好みで、今回のエラーとは関係ないけど、 リレーショナルを設定してるDataSetの場合、まず必要なDataTableを すべてFillしてからRepeaterとかにBindしたほうがいい。 すべてFillする前に何らかの処理をしようとすると外部キー制約とかで 不注意にエラーになることがあるので、まず完全にDataSetを作ってから Bindするなり操作する癖をつけたほうがいいよ。
560 名前:nobodyさん mailto:sage [2007/04/15(日) 00:33:57 ID:???] わたしもそう思ったんですが Dim ds As New DSUserPages Dim ta As New DSUserPagesTableAdapters.UserPageURLsTableAdapter (ここでパラメータの処理) ta.Fill(ds.UserPageURLsDataTable) ところがここで「ds.UserPageURLsDataTableは型です。式として使用することはできません。」 と言われてしまうんですね。なので型指定付きのxsdはスキーマ情報しか持ってないのか と思ってインスタンスのDataTableをAddしてたんです。 するとコンパイラは通るのですが、上記エラーが出るんです。 DSUserPages.Designer.vbの中を確認すると Private Sub InitClass() ・・・ Me.tableUserPageURLs = New UserPageURLsDataTable MyBase.Tables.Add(Me.tableUserPageURLs) Me.tableUserPageLinkList = New UserPageLinkListDataTable MyBase.Tables.Add(Me.tableUserPageLinkList) Me.relationUserPageURLs_UserPageLinkList = New System.Data.DataRelation _ ("UserPageURLs_UserPageLinkList", New System.Data.DataColumn() _ {Me.tableUserPageURLs.UserIdColumn, Me.tableUserPageURLs.URLIDColumn}, _ New System.Data.DataColumn() {Me.tableUserPageLinkList.UserIdColumn, Me.tableUserPageLinkList.URLIDColumn}, false) Me.Relations.Add(Me.relationUserPageURLs_UserPageLinkList) End Sub となっており、仰るとおりにテーブルのインスタンスを作成してるのです。 もうわけがわかりません。w
561 名前:nobodyさん mailto:sage [2007/04/15(日) 00:40:21 ID:???] なんでVBばっかりなんだ? C#でやってるやつはいないの?
562 名前:nobodyさん mailto:sage [2007/04/15(日) 03:25:33 ID:???] ノシ 確かに検索で出てくるページもVBが多いよね お陰でVBも読むことは出来るようになってきたw
563 名前:nobodyさん mailto:sage [2007/04/15(日) 11:49:38 ID:???] >>560 追記。 www.microsoft.com/japan/msdn/thisweek/300x10/phase2/webservices_winapp/vb.aspx Public Function GetDepartments()As DsAdv Dim ds As New DsAdv() Dim adapter As New DsAdvTableAdapters.DepartmentTableAdapter() adapter.Fill(ds.Department) Return ds End Function やはりMS様もこれでいいと仰ってます。 DataSetのテーブルかなんかの設定で間違ってるのかなぁ?
564 名前:nobodyさん mailto:sage [2007/04/15(日) 12:41:58 ID:???] >>560 自己レスです。解決しました。 ta.Fill(ds.UserPageURLs,パラメータ,パラメータ) でコンパイラが通りました。 UserPageURLsがテーブル名でした。 UserPageURLsDataTableはテーブルの型を定義するプロパティだったんですね。orz オートコンプリートに表示される候補のDataTableという名前で完全に勘違いしてしまいました。
565 名前:nobodyさん mailto:sage [2007/04/15(日) 13:18:08 ID:???] え・・・まさかヘルプも読まないで質問・・・
566 名前:nobodyさん mailto:sage [2007/04/15(日) 17:11:09 ID:???] >>561 俺もC# VBも書けるけど、なぜかC#で書いてるな。
567 名前:nobodyさん [2007/04/16(月) 14:01:35 ID:AFy90HQV] VS2005,C#でSQL2000から2個のテーブルをデータセットに読み込んで そのテーブルを比較して整合性を取りたいと考えています。 テーブルの内容はAテーブルには日付フィールドと仕事の予定フィールド Bテーブルには日付フィールドと休日の予定フィールドが入っています。 (A・Bの日付が被る事はありません) このABテーブルをAテーブルに纏めたいのです。 Bテーブルは終業時、同様の処理をしてバックアップ代わりにします。 普通に考えてBテーブルの全てのROWの日付でAテーブルをセレクトし てBテーブルに存在しなければROWを追加してやれば良さそうに思うのですが 頻繁に行う事が予想されるので出来るだけ不可の少ない処理で 済ませたいのですが妙案はないでしょうか?
568 名前:nobodyさん [2007/04/16(月) 18:58:56 ID:5T51gVIn] 漏れもVB コード変換ソフトとかあるし VBでもC#でも問題ないんだが
569 名前:nobodyさん [2007/04/16(月) 20:49:06 ID:68o6OWMk] >>568 c#で書いたのをVBに変換するのってあるでしょうか?
570 名前:nobodyさん mailto:sage [2007/04/16(月) 22:40:18 ID:???] >>569 C#VB 変換 でググれ 基本だろ
571 名前:nobodyさん mailto:sage [2007/04/16(月) 22:48:59 ID:???] J#使う人って稀?
572 名前:nobodyさん mailto:sage [2007/04/16(月) 22:52:02 ID:???] >>567 AとBの日付が絶対にかぶらないならSelectしたBをそのまま Insertすればいいんでないの? も負荷を小さくするならストアドをかな。 もしくはAとBをUnionしたものをビューに登録。 さらにAテーブルをRIGHT OUTER JOINして、追加したフィールドが nullのものだけをWHEREで切り取る。 そうすればAになくてBにあるものだけが抽出できる。 つかそのままAとBをunionしたビューをそのまま使い続けて、 新しいテーブルに、そのビューの内容をコピーしたほうが 簡単な気がする。
573 名前:nobodyさん [2007/04/17(火) 19:45:43 ID:OYnOoGtS] >>571 稀だろ つか使ってる奴みたことねぇ J#つかうならJavaのほうがいいような気がしなくもない
574 名前:nobodyさん mailto:sage [2007/04/17(火) 22:11:02 ID:???] Visual Web Developer 2005 Express Edition って M$のサイトからダウンロードできるのと店で売ってるのと 何が違うんでしょうか??
575 名前:344 mailto:sage [2007/04/17(火) 22:22:37 ID:???] >>574 本当は期間限定での無償ダウンロードで、その名残。 違いはオリジナルのマニュアルが付くところ。
576 名前:574 mailto:sage [2007/04/17(火) 23:14:46 ID:???] >>575 ありがとです。 ってことは、機能的に制限があるわけじゃないんですね。。。 (´ε`;)ウーン…VS2003使いとしては微妙だなぁ。。。
577 名前:nobodyさん mailto:sage [2007/04/17(火) 23:17:13 ID:???] VS2003とか使いづらくて使う気になれん 特にVS2005に慣れたら尚更
578 名前:344 mailto:sage [2007/04/17(火) 23:31:00 ID:???] >>576 VWDに関しては、でかいことするんでなければ、 普通に業務用にも使えると思うけどなー。
579 名前:574 mailto:sage [2007/04/17(火) 23:51:38 ID:???] >>577 そうなんですよ、、VB6からの乗換えでせっかく慣れてきたのにまたかよ('A`)ノ って感じですわorz... M$には、中小企業で開発環境が変わることの大変さを知って欲しいですわ。。 >>578 Webの案件は初めてでVS2003で試行錯誤して、「うひゃっ!なんか出来ちゃったwwwww」 って思ったんだけど、、、、ASP.NET 2.0 ( ゚Д゚)イッテヨシ!! また試行錯誤してみますorz......
580 名前:nobodyさん [2007/04/18(水) 06:09:51 ID:+avfGZDm] VS2005でASP.NET Webサイトを含むソリューションでリファクタ機能やすべての参照の検索など使用すると 毎回aspxなどのコンパイル処理みたいなのが走って、すごい時間がかかるんですが 早くする設定などはあるのでしょうか?
581 名前:nobodyさん mailto:sage [2007/04/18(水) 14:11:23 ID:???] >>580 リファクタやなんやらは、すべてのファイルをgrepして調べてるんだから、 すごい時間がかかるのは当たり前。 ファイルの参照設定をちゃんとやったりして可視性を見直すしかないと思う。
582 名前:nobodyさん [2007/04/18(水) 23:14:27 ID:+avfGZDm] レスサンクスです。 通常のWindowsアプリケーションとかだとあんまり時間がかからなかったため 何か設定でもあるのか、自分の環境だけなのか知りたくて質問しました。 今のところ、通常のgrepのほうが断然早いのでノイズが入ってしまうのを覚悟で手動で検索しています。
583 名前:nobodyさん mailto:sage [2007/04/19(木) 11:10:59 ID:???] DROPDOWNLISTのLISTITEMの文字列に文字参照で入ってきたとき、そのまま出ちゃうんだけど (&#hearts;とか)ちゃんとハートマークにして表示って出来ませんか?
584 名前:344 mailto:sage [2007/04/19(木) 16:23:20 ID:???] CustomWebControlを作ればいいよ DropDownListはRenderContentsメソッド内でデータをhtmlencodeして出力しているらしい。 だからRenderContentsを↓のようにOverrideしてhtmlencodeをはずしてあげればいいはず。 public class NonHtmlEncodedDropDownList : System.Web.UI.WebControls.DropDownListを定義して protected override void RenderContents(HtmlTextWriter output) { int count = Items.Count;ListItem item;bool selected = false; for (int i = 0; i < count; i++) { item = Items[i]; output.WriteBeginTag("option"); if (item.Selected) { output.WriteAttribute("selected", "selected", false); selected = true; } output.WriteAttribute("value", item.Value, true); output.Write(">"); string text = item.Text; ←ここで本当はhtmlencodeされているハズ output.Write(text); output.WriteEndTag("option"); output.WriteLine(); } output.Write(Text); } this.NonHtmlEncodedDropDownList1_1.Items.Add(new ListItem("♥", "1")) これでハートが表示されてる。バグってたらスマソ。
585 名前:nobodyさん mailto:sage [2007/04/19(木) 17:04:24 ID:???] >>584 ありがとう、俺VBしかわからないんだけどなんとなくわかったよ! HtmlTextWriterがなにやってるかを探してencodeしてる部分だけ差し替えればいいんだよね?
586 名前:344 mailto:sage [2007/04/19(木) 18:02:09 ID:???] >>585 HtmlTextWriterは単にタグを作成するのに利用してるだけなので、 それそのものを調べても意味がないかも。 実際の(HtmlEncodeして表示している)RenderContentsメソッドを隠蔽して 別途HtmlEncodeしない仕様のメソッドを定義して利用させるってこと。 そのためにDropDownListの継承classを作成して、RenderContentsメソッドを overrideするメソッドを作る。 ただし、こうするとタグが自由に利用できてしまうので、 使用可能な特殊コードのみHtmlEncodeを通さないようにして、 それ以外は通常通りHtmlEncodeを通すようにしたほうがいいかもね。
587 名前:nobodyさん mailto:sage [2007/04/19(木) 18:41:04 ID:???] >>586 丁寧にありがとう! >そのためにDropDownListの継承classを作成して、RenderContentsメソッドを >overrideするメソッドを作る。 これをやってみたんだけど「その型 (test.NonHtmlEncodedDropDownList)はコントロール (System.Web.UI.WebControls.DropDownList) の型と互換性がありません。」 っていわれちゃった… この作った継承クラスで目的のDROPDOWNLISTを定義してるのが間違ってますか?
588 名前:344 mailto:sage [2007/04/19(木) 18:48:58 ID:???] >>587 vb.netの言語仕様に関してはちょっとわからない。 ↓を参考にしてみて挑戦してみてください。 www.atmarkit.co.jp/fdotnet/basics/oop04/oop04_03.html
589 名前:nobodyさん mailto:sage [2007/04/19(木) 19:42:43 ID:???] ありがとう、がんばってみます!
590 名前:nobodyさん [2007/04/20(金) 12:16:41 ID:ev1GBwjC] >>580-581 リファクタリングを早くする方法は pc11.2ch.net/test/read.cgi/tech/1176646923/13 を参照のこと。 ただそれによって早くなるのは pc11.2ch.net/test/read.cgi/tech/1176646923/40 という理由らしいから、使い方はお気をつけて。
591 名前:nobodyさん [2007/04/20(金) 13:04:58 ID:B09CNaZo] 沖縄県の方へ(命に関わる注意事項です) 沖縄県での選挙ですが、どうか民主党だけは避けてください。県民の生命に関わる可能性があります。 民主党の最大の公約は一国二制度(※)ですが、一度「一国二制度 沖縄 三千万」で検索をお願いします。 この際、民主党のHPで調べても良いです。以下の注釈↓と矛盾することは書いてないはずですから… ※一国二制度 簡単に言えば沖縄を中国と日本の共有物にし、そこに3000万人の中国人を入植させます。 (つまり沖縄人口の 96% を中国人にして、実質、沖縄を中国人の居住地とします。) さらに「自主」の名の下、沖縄で有事が起きても自衛隊は干渉できません。 3000万人の中国人が、少数派となった130万人の日本人に何をしても、です。 そして反日教育を受けた中国人の反日感情の強さは、ほとんどの日本人の理解を超えるものです。 今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。 自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。 発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。
592 名前:582 mailto:sage [2007/04/21(土) 00:50:22 ID:???] >>590 激しくサンクス 今まで、しょうがないんでWebサイト切り離してリファクタしてました。
593 名前:nobodyさん mailto:sage [2007/04/22(日) 00:20:10 ID:???] 経験豊かな方ご教示願います。 ある事情があって先にHogeServerというconnectionStringsを使っていました。 で、ユーザー認証その他の機能を使いたくて以下のように変更しました。 <connectionStrings> <remove name="LocalSqlServer" /> <add name="HogeServer" connectionString="以下略 </connectionStrings> <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15"> <providers> <clear /> <add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="HogeServer" applicationName="Hoge" 以下略 こうしたところ、ユーザーの登録や削除はASP.NET構成ツールでうまく機能しました。 ユーザー登録関連のコントロールもちゃんと動きます。 ところが、ロールの設定やプロバイダの設定でエラーがでます。 どうもmachine.configに上書きしてない"LocalSqlServer"という項目がかなり残ってるようです。 こんなとき、みなさんならどうしますか? 1.machine.configを検索して"LocalSqlServer"の項目をすべて"HogeServer"に書き換える 2.machine.configを検索して"LocalSqlServer"の項目をすべてweb.config上でRemoveして"HogeServer"に書き換える 3."HogeSerVer"を"LocalServer"に戻してコードの中の"HogeServer"をすべて書き換える どんな影響があるのか不安でどうしたらいいかわかりません。ご意見をお願いします
594 名前:594 [2007/04/22(日) 10:26:39 ID:g6P3Re1p] 認証関連ですがお手上げなんで教えてください Windows Server 2003 R2で, テキストファイルで作成したC#のdefault.aspxに localhsot/default.aspx のようにアクセスすると認証のダイアログが出ず, 127.0.0.1/default.aspx のようにアクセスすると認証のダイアゴルが出てしまいます. 認証のダイアログを出さないようにするにはどう設定したらよいのでしょうか??? IISのディレクトリセキュリティの設定では,「匿名アクセスを有効にする」と「統合Windows認証」にチェックが入っています. ファイルのセキュリティでは,NETWORK SERVICEが読み取りと実行が可能になっています.
595 名前:nobodyさん mailto:sage [2007/04/22(日) 14:13:19 ID:???] >594 Windows認証が効いてるんだろ? チェック外してみろ。
596 名前:nobodyさん mailto:sage [2007/04/22(日) 23:29:14 ID:???] Webアプリ久々に開発することになって、最近ASP.NET2.0弄り始めたが なんだこれ・・・過去に苦労してたのがすっげー楽に実現できる。 カルチャーショックだな
597 名前:nobodyさん mailto:sage [2007/04/23(月) 10:11:07 ID:???] デカルチャー
598 名前:nobodyさん mailto:sage [2007/04/23(月) 11:16:42 ID:???] >>596 俺も6年ぶりぐらいにWebアプリに戻ってきたけど、かなりのカルチャーショック。 ADO.NETの仕組みとか、.NETのライブラリの基本とかが膨大すぎて覚えるのが大変。 オブジェクト指向は過去に経験しててよかったとオモタ クラシックなaspの仕組みしってるとasp.netの裏側も見えるので損ではないとオモタ
599 名前:nobodyさん [2007/04/23(月) 22:52:53 ID:SAH2Jxj+] だが逆にHTMLを自前で吐くようなperlとかつかってたころには あっさりとできたものが、ASP.NETではできないとか やりかたが複雑とかわかんないとかいうのがあって むかつくこともないわけではない
600 名前:nobodyさん mailto:sage [2007/04/23(月) 23:15:20 ID:???] ないと思うが。
601 名前:nobodyさん [2007/04/23(月) 23:34:14 ID:Qv1rWHCm] ASP.NET2003での質問 複数の画面を同時に出すフレームワークについて。 あるフレームワーク処理関連を全てコピーして、 別のフレームワークを作ったら、両方とフレームワークが効かなくなってしまった。 原因が全くわからない。 一番、多い原因は何ですか? リンク・コード内の名前直しは間違ってません。
602 名前:nobodyさん mailto:sage [2007/04/23(月) 23:41:44 ID:???] いい加減意味不明な言葉を直せよw
603 名前:nobodyさん [2007/04/23(月) 23:44:13 ID:Qv1rWHCm] すまない。 つまるところ、フレームワークをコピペして、 一つのプロジェクトの二個のフレームワークが出来ました。 そしたら、二つとも画面の合成が効かなくなってしまった。 エスパー希望
604 名前:nobodyさん mailto:sage [2007/04/24(火) 00:12:07 ID:???] 言ってることがわかんね。
605 名前:エスパー mailto:sage [2007/04/24(火) 01:24:00 ID:???] ふむ見えた。 この問題を解決できるエスパーは現れないみたい。 残念ですた。
606 名前:nobodyさん mailto:sage [2007/04/24(火) 12:30:12 ID:???] >>601 意味不明だが、なんかが重複定義されてるんじゃね?
607 名前:nobodyさん mailto:sage [2007/04/24(火) 16:19:21 ID:???] あるフレームワーク処理関連を全てコピーして、 別のフレームワークを作ったことが原因では? これが一番多い原因だと思う。
608 名前:nobodyさん mailto:sage [2007/04/24(火) 19:00:49 ID:???] 単品フレームワークでの動作は完璧? だったらもう一度ソースの中の名前をスミズミまで見てみれ 意外な所に自動生成された名前があったり必要な宣言がされてなかったり…
609 名前:nobodyさん mailto:sage [2007/04/24(火) 19:03:45 ID:???] だいたいフレームワークってなによ?
610 名前:nobodyさん mailto:sage [2007/04/24(火) 22:43:33 ID:???] ざんねんながら単なるフレームのことなんだなこれがw
611 名前:nobodyさん mailto:sage [2007/04/24(火) 23:06:20 ID:???] 単なるフレームかよ。シネヨ。 ディレクトリが違うから絶対パスで記述しても、そんなファイルねーだけだろ。 わざわざasp.netスレで聞くんじゃねー
612 名前:nobodyさん mailto:sage [2007/04/25(水) 00:27:48 ID:???] フレームワークってaspxのことかな・・・と思ったが違うのか。 よくaspxをコピペするときにRegisterブロックあたりまでコピペしてしまって コンパイルエラーの原因がわからず泣いてる奴がいるよな。
613 名前:nobodyさん mailto:sage [2007/04/29(日) 15:25:29 ID:???] 開発環境からページの実行をしたときに使うWebブラウザはどこで指定できるんでしょうか? 標準のブラウザを火狐等にしても、IEが立ち上がってきてしまいます。 オプション等を全部見たのですが、環境のところにWebブラウザという項目があったものの、 それらしいところが見つけられませんでした。
614 名前:nobodyさん mailto:sage [2007/04/29(日) 16:31:14 ID:???] ソリューションエクスプローラで.aspxファイルを右クリして出てくるメニューに デフォで"Webページの実行"みたいな名前の項目のすぐ下に Webブラウザを選択して表示みたいな項目があってそこで ブラウザの変更はできた。 項目の正式名称は忘れたw
615 名前:nobodyさん mailto:sage [2007/04/29(日) 22:38:45 ID:???] データをDBから読み込んで、DataGridで表示しています。 ソートせずに、そのまま更新ボタンおせば該当行が更新モードになります。 しかし、ソートした後に更新ボタンを押すとソート前の行が編集モードに なってしまいます。いろんなサンプル見ましたが、このことにふれたソース がなく、悩んでいます。どなたかご存知でしたら教えてください。
616 名前:nobodyさん mailto:sage [2007/04/30(月) 02:26:32 ID:???] 書き方悪いので訂正します。 データをDBから読み込んで、DataGridで表示しています。 ソートせずに編集ボタンおせば該当行が編集モードになります。 しかし、ソートした後に編集ボタンを押すとソート前の行が編集モードに なってしまいます。いろんなサンプル見ましたが、このことにふれたソース がなく、悩んでいます。どなたかご存知でしたら教えてください。
617 名前:nobodyさん mailto:sage [2007/05/01(火) 06:32:36 ID:???] >>614 サンクスです。 休み明けにやってみます。
618 名前:nobodyさん mailto:sage [2007/05/01(火) 20:11:30 ID:???] >616 自己レス。 解決しましたのでこの質問はなし。
619 名前:nobodyさん [2007/05/04(金) 14:59:15 ID:Fic8rDCB] 2003 SERVER+ADSLですが先日無線ルーター(現在はLANで接続)を入れたら「localhost」ではサーバーを立てているPCから接続できなくなりました。 LAN内の別PCや自宅PCからは普通に接続できます。 そしてなぜかASP.NET自体タイムアウトで接続できない状態です。 再起動するもダメです。 何か設定が必要なのでしょぅか?
620 名前:nobodyさん mailto:sage [2007/05/04(金) 19:59:17 ID:???] >2003 SERVER+ADSLですが先日無線ルーター(現在はLANで接続)を入れたら どんなネットワーク構成図? どんなネットワークではうまくいっていて、そのネットワークの何をどうしたの? >現在はLANで接続 現在はって、昔はWAN接続? >「localhost」ではサーバーを立てているPCから接続できなくなりました。 localhostで、何から何に接続できないの? >LAN内の別PCや自宅PCからは普通に接続できます。 サーバと同一LAN内の別PCや自宅PCでlocalhostで接続したの? >そしてなぜかASP.NET自体タイムアウトで接続できない状態です。 どこから接続してタイムアウトになるの? 「なぜか」だと思う理由は? サーバのIPアドレス直入力では接続可能? 127.0.0.1ではどう?
621 名前:nobodyさん mailto:sage [2007/05/07(月) 00:54:06 ID:???] Cookielessモードについての質問。 AutoDetectに設定すると検索ロボットからのアクセスでログが荒れる のだけれども、UseDeviceProfileだと設定を作っていくのが面倒。 しかもプロファイルを設定してないUAでくると…… UserAgentに「Yahoo」とか「Google」の文字があったら無条件で 非Cookielessセッションに切り替える方法ってない? 現在はUseDeviceProfileを使用してMozillaを継承したbrowserファイル でなんとか制御中。Defaultを直接継承して「yahoo」にマッチするように 設定してみたんだけど、なぜかMozillaのほうが優先されてしまう。
622 名前:nobodyさん [2007/05/07(月) 22:11:59 ID:28dJTdJ9] >>600 本当にないと思ってるのか 直接Writeしないとできないことはまだ多い
623 名前:nobodyさん mailto:sage [2007/05/07(月) 22:15:22 ID:???] 直接Writeしたら少なくとも同じことはできるだろっつってんだよ。
624 名前:nobodyさん mailto:sage [2007/05/08(火) 02:35:36 ID:???] DBからデータ読み込んで、動的にグラフを作成して表示するって可能なんでしょうか? 普通のFormならpictureboxを使用して描画できると思いますが、ASP.NETではどのような手法がありますか?
625 名前:nobodyさん mailto:sage [2007/05/08(火) 09:21:32 ID:???] >>624 System.Drawingを使うのだよ。 サンプルは腐るほどころがっている
626 名前:nobodyさん mailto:sage [2007/05/08(火) 10:04:00 ID:???] POSTされたXMLデータはどうやって取得するのですか? たとえば、blogにあるwebPingを受け付けるサービスを作りたい場合、 blogからpostされたxml形式のwebPingの内容を取得する方法を教えてください。
627 名前:nobodyさん mailto:sage [2007/05/08(火) 11:04:40 ID:???] pietschsoft.com/blog/post.aspx?postid=762 で、正規表現を使ったURL書き換えが紹介されていたので早速実装してみました。 書き換え規則はこんな感じです。 <add url="~/users/(.*)\.aspx" mappedUrl="~/users.aspx?u=$1"/> URLの書き換えはうまくいったのですが、そのファイルの中に <script type="text/javascript" src="js/swfobject.js"></script> <link rel="stylesheet" type="text/css" href="css/RootStyle.css" /> などの外部ファイル参照があるのですがこれらがことごとく失敗します。 開発中の環境とURLが違うためにURL指定することはなるべく避けたいわけです。 そこでsrc="/js/swfobject.js"のようにルートからの絶対パスで書いたのですが これもうまく解釈されません。 なにか上手い方法をご存知ありませんか?
628 名前:624 mailto:sage [2007/05/08(火) 11:31:36 ID:???] 自由に描画した画像を出力する場合に、 bitmap.Save(Response.OutputStream, ImageFormat.Jpeg); とすると、新しいページに画像だけが表示されますが、 特定のImageコントロールに表示するには、やはり画像 ファイルを一時保存して、ImageUrlを指定しなければならないでしょうか?
629 名前:nobodyさん mailto:sage [2007/05/08(火) 12:15:21 ID:???] >>626 xmlっても普通にstringのpostだからRequest.Formで取得できるのでは? >>627 それじゃ、そのaspxのあるディレクトリ配下指定だよ。 HttpServerUtility.MapPathのServer.Mappthを使うと幸せになれるかも。
630 名前:nobodyさん mailto:sage [2007/05/08(火) 12:25:43 ID:???] >>628 昔、classicなaspでやってたときは、確か、たとえば bitmap.aspで、Response.BinaryWriteでbitmapを出力するだけのaspを作って、 <img src="bitmap.asp">とかってよくやっていたものだが、 同様にして、BitmapButtonのImageUrl="bitmap.aspx"すればだめかな?
631 名前:nobodyさん mailto:sage [2007/05/08(火) 13:09:10 ID:???] >>630 のはASP.netでもその方法は使える。 Bitmap出力するだけならashx使っても良いし、 またはdefault.aspx?mode=bitmapみたいな urlをImageUrlに使ってクエリ文字列"mode"が"bitmap" の時は画像を出力するというふうにしてもいいと思う。 データの受け渡しはSession変数使うのがいちばん簡単かな。
632 名前:nobodyさん mailto:sage [2007/05/08(火) 13:24:41 ID:???] 補足。 データの受け渡しってのはbitmapのことじゃない。 ページのクラスのフィールドに文字列を保存しても次のリクエスト時には消える から、何か画像の生成に必要な一時データがあるならの話ね。
633 名前:nobodyさん mailto:sage [2007/05/08(火) 13:29:02 ID:???] >>629 stringのpostだけど、Formの名前?がわからない。 ttp://www.nurs.or.jp/~sug/homep/rss/rss5.htm FormのTextをSubmitするのではなく、こんな感じで送られてくるので。
634 名前:nobodyさん mailto:sage [2007/05/08(火) 13:41:15 ID:???] >>632 DataBaseのPrimayKeyとかを渡して、そのIDの画像を表示するとかのことね。 ただSessionが消えることを考えると、文字としてaspxに埋め込まれるGETの方が ブラウザのキャッシュに残ったときや、戻る進むで遷移したときに対処しやすい。 そもそもSessionでデータを引き渡すだけでいいなら、aspx?mode=bitmapも必要ないし。 >>633 そのaspxに対してstringなデータとしてpostされてくることは確かなわけ? であれば、Request.FormはRequest.Form[i]のようにindexで取得できるのでキー名は不要。 もし知りたいならRequest.Form.AllKeysですべてのキー名が取得できるが、試してみた? まずはmsdnを嫁。
635 名前:nobodyさん mailto:sage [2007/05/08(火) 13:50:10 ID:???] >>629 そのようですね。 /を最初につけるとルートからの指定ってのがあったと思ったんですけど。 ./と同じ解釈になってしまうのってなんか釈然としません。 まーDosやうにくすとは違うってことでしょう。 >HttpServerUtility.MapPathのServer.Mappthを使うと幸せになれるかも。 物理アドレスがソースに含まれてしまうみたいですね。 これは怖いです。 RequestからUrlのベースをパースするとかめんどくさいことやればなんとか なりそうですが、書き換えルールにディレクトリを含めるのをやめるのが 一番簡単かもしれないですね。 <add url="~/users_(.*)\.aspx" mappedUrl="~/users.aspx?u=$1"/>
636 名前:nobodyさん mailto:sage [2007/05/08(火) 13:56:01 ID:???] >>635 いやだから、物理アドレスから、IISでいうところのwwwrootまでを削れば、 IISのルートフォルダを起点とした絶対パスが取得できるのでは? (デフォルトのIISのインスト環境) それがいやなら、完全に手動で ../../../js/swfobject.js のようにルートまで/../../を使ってもどって指定してやればいい。 ↓参考 www.ipa.go.jp/security/awareness/vendor/programming/a05_02_main.html
637 名前:nobodyさん mailto:sage [2007/05/08(火) 14:08:39 ID:???] >>634 >そのaspxに対してstringなデータとしてpostされてくることは確かなわけ? 確かなわけです。 というか、webPingの仕様がそういうものだから。 Request.Form.AllKeysは気付かなかったけれど、 Request.ContentTypeが"text/xml"であることを確認してRequest.InputStreamで全部ぶっこぬいたらうまくいきました。 たぶん。
638 名前:nobodyさん mailto:sage [2007/05/08(火) 14:32:11 ID:???] >>636 ああ、なるほど。 IISのルートフォルダを起点とした絶対パスは どちらも同じなんですよ。 そのルートフォルダを起点とした絶対パスを うまく指定する方法がなくて困ってるわけです。 開発環境 localhost/js/… localhost/css/… 公開AP www.app.net/js/… www.app.net/css/… アプリケーションファイルがルートにある間は"js/…"でいいわけですが、 localhost/app.aspx?user="username" URL書き換えによってアプリケーションファイルのフォルダが localhost/user/username.aspx に偽装されてしまったため、相対指定で対処きなくなったんです。 パラメータが動的に増えて階層が動的に変化する場合もあるわけで せっかくURLの書き換え規則が正規表現で書けるようになったので それをフルに使いたいと思ったんです。 ひょっとして"/js"などのルートからの絶対指定ができないのは、 ASP.NET開発サーバだけですか? IISならできるとか?
639 名前:nobodyさん mailto:sage [2007/05/08(火) 14:51:08 ID:???] >>638 そうか、その絶対パスでみれないからだめなのかorz すまなかった。お詫びにこんなもの探してきた↓ VirtualPathUtility.MakeRelative("/design/css/main.css", "/images");
640 名前:nobodyさん mailto:sage [2007/05/08(火) 15:00:37 ID:???] 他にはここが詳しいな。 msdn2.microsoft.com/ja-jp/library/ms178116 (VS.80).aspx
641 名前:nobodyさん mailto:sage [2007/05/08(火) 16:11:39 ID:???] >>639 >>640 そうそう。そうなんです。 これからじっくりと試してここに報告に来ますね。 まだ解決できたわけではないけれど、おかげで十分幸せになれました。 ほんとにうれしかったです。ありがとう。
642 名前:nobodyさん mailto:sage [2007/05/08(火) 17:06:46 ID:???] >>634 それもそうだね。 ?mode=bitmap&id=1&key=xxxxxみたいな感じでクエリ文字列にデータを含める方法ね。 そういう方法でするなら画像生成部分を別のaspxに分離したほうがスマートだ。 あくまでもwinのGUIに近い感じで開発したい場合、 クラスのフィールド変数を使っては値をやりとりできないため 別の方法で値のやりとりしなければいけない(Session変数など) という注意点を書きたかっただけだから混乱させてしまったかな。 その方法は、別にSession変数でなくても>>634 の方法でもいい。 用途によるけど、履歴に残したくない、表に変数内容を出したくない場合 (キーに顧客の氏名、キャプチャイメージの文字列などが含まれるなど)はやはり URLのクエリ文字列に含めるのは好ましくない。 なおかつ表示が一時的で良いならSession変数を使うほうが良い。 まぁ複数の画像を生成する必要がある場合?mode=bitmap&img=hoge みたいにクエリ文字列を追加しないといけないけれど。 それ以外だったら>>634 の方法のほうがむしろいいかも。 追伸 Session使った場合も動作の安定性を確保するために?mode=bitmapは最低限必要。
643 名前:nobodyさん mailto:sage [2007/05/08(火) 20:13:20 ID:???] >>642 >あくまでもwinのGUIに近い感じで開発したい場合、 なるほど。asp.netはwebの概念とWindowFormの 概念が混じってるから難しいね。 一番良いのは動的に生成したBitMapを直接、 指定できるカスタムコンポーネントを作ることだねぇ。
644 名前:624 mailto:sage [2007/05/08(火) 22:50:44 ID:???] >>628 >>639 すばらしいです。ありがとうございます。 ただ、ashxで試しに折れ線を描画してJpeg画像作成してみたのですが、 折れ線がガタガタな画像が表示されました。 品質を指定すれば改善するのでしょうかね・・・。また明日試してみたいと思います
645 名前:nobodyさん mailto:sage [2007/05/08(火) 23:06:48 ID:???] >>644 ヒント: Graphics.SmoothingMode
646 名前:nobodyさん [2007/05/09(水) 14:53:51 ID:189NeqEf] .aspxで参照設定したDLLから同一ディレクトリ内の別のサブディレクトリにある XMLファイルのパスの取得は出来ないんでしょうか? wwwroot └hoge ├a.aspx └ hoge2 └b.xml←このファイルのパス DLLではserver.Mappathは使えないですしa.aspxから引数として ファイルパスを渡すのも仕様上NGで絶対パスをベタ書きするのもNGです とにかくxmlファイルの内容をa.aspxで参照しているDLLから取得出来れば良いのですが…
647 名前:646 mailto:sage [2007/05/09(水) 14:56:50 ID:???] すいません、なんか質問内容がブレてますね… したい事はxmlファイルの内容をDLLから取得です。 相対パスはその為の手段として思い付いた事っす。
648 名前:nobodyさん mailto:sage [2007/05/09(水) 16:08:06 ID:???] >>646 -----------DLL.cs------------- string foo = ConfigurationSettings.AppSettings["bar"]; XmlDocument myDoc = new XmlDocument(); myDoc.Load(foo); -------------web.config-------------- <appSettings> <add key="bar" value="~/b.xml" /> </appSettings> これじゃだめなの? 直接関係ないけど、変数名にhoge使う奴はしね
649 名前:646 mailto:sage [2007/05/09(水) 16:48:09 ID:???] >>648 ありがとうございます。 web.configファイルの存在を忘れてました… 試してみます。 ちなみに…GW明けで修正案件4件以上入ってきたのでマジでしねそうです…
650 名前:646 mailto:sage [2007/05/09(水) 18:18:52 ID:???] >648の方法を試してみたのですが >xmlDoc.Load(foo); の部分でファイルパスが絶対パスに変更されwin32\\system\\...のような形に なってしまいアクセスしたいファイル意外のパスを参照してエラーがででしまいます。 むぅ…DLLのコード内でWebアプリのパスだよと指定する方法があるのでしょうか?