1 名前:nobodyさん [2007/07/17(火) 23:49:46 ID:pyJr9yIy] ●過去ログ Part1 - 【質問】 ASP.NETスレ 【議論】 pc5.2ch.net/php/kako/1040/10406/1040698263.html 【質問】ASP.NETスレ Part2【議論】 pc8.2ch.net/test/read.cgi/php/1111480331/ 【質問】ASP.NETスレ Part3【議論】 pc11.2ch.net/test/read.cgi/php/1160355849/
109 名前:nobodyさん mailto:sage [2007/08/23(木) 12:03:42 ID:???] ASP.NET 2.0のGridViewで質問です。 ページング(AllowPaging="True" PageSize="10")を利用しているのですが、 件数が10件に満たない場合でもPagerを出力する事は可能でしょうか?
110 名前:nobodyさん mailto:sage [2007/08/25(土) 20:00:12 ID:???] ホントここ人居ないな。 >>109 できるよ
111 名前:109 [2007/08/30(木) 02:19:16 ID:NTnTtLAt] >>110 その後も色々調べてみたのですが、 同じ事で悩んでいた方の質問で無理だったらしいのです。 http://vsug.jp/tabid/63/forumid/72/postid/3405/view/topic/Default.aspx よろしければ、やり方を教えていただけ無いでしょうか。
112 名前:nobodyさん mailto:sage [2007/08/30(木) 18:32:05 ID:???] >>111 俺もデザイン的に必要だったから、擬似的に表示するようにした
113 名前:nobodyさん mailto:sage [2007/08/30(木) 20:32:17 ID:???] VisualStadio2003での質問です。 テキストエリアへのHTMLタグの入力を禁止するために、 RegularExpressionValidatorを使って入力チェックを行おうとしています。 正規表現で指定した禁止文字を入力しフォーカスを外すと、 エラーメッセージを表示してくれるのですが、 サブミットボタンを押してもサブミットが発生してくれません。 ボタンでのサブミットを発生させるにはどのようにすればよろしいでしょうか? アドバイスお願いいたします。
114 名前:nobodyさん mailto:sage [2007/08/31(金) 00:34:36 ID:???] DBにメールを保存しています。やりたいことはメーリングリストのWeb アーカイブ等でよく見かけるメールのやりとりを階層表示するには どのようにすれば良いのでしょうか?表示は件名、受信日、Fromのみ とし、任意の件名をクリックすると、別ページでTo、Cc、件名、本文 が表示されるのをイメージしています。よろしくお願いいたします。 言語VB.NET、.NET Framework2.0です。
115 名前:nobodyさん mailto:sage [2007/08/31(金) 00:34:37 ID:???] >>111 無理じゃないし、擬似的にでなくても出来るよ。 GridViewのPreRenderでsender.BottomPagerRow.Visible = True GridViewのRowDataBoundで1ページに収まる場合、 BottomPagerRow.VisibleがFalseにされるんでそれより後に動く イベントでBottomPagerRow.VisibleをTrueすれば表示される。 まぁ、イベントの順番とかどう言う処理してるかとか意識した方がいいと思う。
116 名前:nobodyさん mailto:sage [2007/08/31(金) 02:09:46 ID:???] >>113 エラーなのにポストバックさせたいのか? よく分からんが↓辺りかな。2003で試せる環境無いから適当だけど。 msdn2.microsoft.com/ja-jp/library/bt244wbb (vs.80).aspx ってか、HtmlEncodeでHTMLタグ無効化した方が簡単だし安全だと思うが。 >>114 ttp://lists.samba.org/archive/linux/2007-August/thread.html こう言うのの事か? 単純にならDB検索して、階層は<ul><li>を入れ子で<li>の中にaタグ入れてURLに パラメータ与えた別ページ開くように件名リンクさせる文字列作って Literalコントロールあたりに入れればいいんじゃね。 aspのHyperLinkとかLinkButtonコントロールとかでポストバックさせて 「リスト表示」と「To、Cc、件名、本文」部分のVisibleを切り替えれば別ページも いらないと思うが、その場合はRepeaterコントロールあたりで<ul><li>の 繰り返し処理する必要があるかな。
117 名前:nobodyさん mailto:sage [2007/08/31(金) 10:08:42 ID:???] >>116 返信ありがとうございます。 仕事中なので携帯から失礼します。 自分の書き方が悪かったです。 入力エラーの時にサブミット出来ないのは良いのですが、 正常値を入力した場合もサブミットが出来ず困っています。 申し訳ありませんが、よろしくお願いします。
118 名前:nobodyさん mailto:sage [2007/08/31(金) 12:03:39 ID:???] >>117 asp.netのコントロール(ボタン、テキスト、RegularExpressionValidator)の組み合わせなら、 普通であれば出来るはずなので別な要因が影響してる気がするが。 ja.gotdotnet.com/quickstart/aspplus/samples/webforms/ctrlref/webctrl/regexvalidator/doc_regexval.aspx Javascriptでボタンをdisableにしてるとか、 asp.netのコントロールではなくてHTMLのタグで書いてるとか。 イベント関係はいろいろな側面が影響するので、簡単なソースを 作って調査した方がいいよ。
119 名前:113 mailto:sage [2007/08/31(金) 12:06:22 ID:???] >>116 jsを追った所、スクリプトライブラリのバグで、 .netFreamworkをASPに再インストールしたら正常に動く様になりました。 お騒がせしました。
120 名前:nobodyさん mailto:sage [2007/08/31(金) 16:01:28 ID:???] この度、ASP.NETを使い、Webアプリを作成することになりました。 しかし、いきなり問題が出て来ました・・・・。 WebアプリケーションをそのままOKを押し作成しようとすると Webアクセス失敗と出て来てしまいます。 この場合、どのように対処したらよろしいでしょうか?
121 名前:nobodyさん mailto:sage [2007/08/31(金) 21:32:28 ID:???] >>120 IIS動いてて権限ちゃんと持ってるか? つーか入門書買え >>114 保存してるのはそれだけ? ヘッダとか保存してないの?
122 名前:nobodyさん [2007/09/01(土) 00:24:53 ID:o4VEeCjw] >116 >ttp://lists.samba.org/archive/linux/2007-August/thread.html はい、上記のようなイメージです。 階層化するためには他に必要なヘッダー情報をDBに追加する必要がありそうでうす。 In-Reply-ToやReferencesを調べることになりそうですが、どのように扱えば よいのかの参考になるわかりやすいサイトご存知でしたら教えてください。 階層化しやすくるためのクラスやライブラリがあればなお助かります。
123 名前:nobodyさん mailto:sage [2007/09/01(土) 18:58:31 ID:???] 配列でツリー構造を作った事がないと見た
124 名前:nobodyさん mailto:sage [2007/09/01(土) 21:16:37 ID:???] >123 それそれ。 わざわざコーディングしなくても再利用できるフリーのクラスとかDLLとかありませんか?
125 名前:nobodyさん mailto:sage [2007/09/01(土) 22:34:49 ID:???] >>124 あきれてモノが言えん
126 名前:nobodyさん mailto:sage [2007/09/02(日) 00:51:34 ID:???] >125 そこをなんとかよろしくお願いします!
127 名前:nobodyさん mailto:sage [2007/09/02(日) 01:08:55 ID:???] いってるじゃねーかよ あきれてモノも言えん
128 名前:nobodyさん mailto:sage [2007/09/03(月) 20:32:29 ID:???] もうちょっとマシな釣りはできんのか ↓はい次どうぞ
129 名前:nobodyさん [2007/09/08(土) 22:51:29 ID:XwRWsE9u] ASP.NETでサイトをプリコンパイルするときに仮想ディレクトリを指定しますが これが実際のサイトと違う場合はどうなるのでしょうか 更新可能なサイトとしてコンパイルしても更新されなくなるだけ? @IT:ASP.NET 2.0が変えるWebアプリ開発の世界 第1回 周辺技術が支えるASP.NET 2.0の進化 www.atmarkit.co.jp/fdotnet/asp2review/asp2review01/asp2review01_03.html に >仮想ディレクトリ名を変更してしまうと、アプリケーション自体が正常に動作しなくなってしまう。 普通に動いてしまっているようなのですが、このあたりの詳細な記述があるサイトはないでしょうか? インストーラの実行時に仮想ディレクトリの名前を確定したく簡単な方法を探しています。
130 名前:nobodyさん [2007/09/10(月) 21:02:18 ID:slz4gROC] 環境ASP.NET2.0、VB.NET、SQL Server 2003です。 select count(*) from table の結果を、ラベルに出力したいのですが サンプルありませんか?できれば .aspx.vb 側でコードを書くのでなく .aspx側(ただし、<script></script>の中は不可)で出力するコードを書きたい。 書く方法があるのか、そういう方法ではNGなのかよくわかりません。 サンプルのアクセス先でもよいので教えてください。 よろしくお願いします。
131 名前:nobodyさん mailto:sage [2007/09/10(月) 21:42:17 ID:???] >>130 インラインコードモデルで書きたいってこと? www.microsoft.com/japan/msdn/asp.net/tips/codebehind/
132 名前:nobodyさん mailto:sage [2007/09/10(月) 21:52:18 ID:???] >131 どうもインラインコードモデルじゃむりっぽいかもしれないので、コードビハインド可で質問 しなおします。 GridViewのサンプルはたくさんあるので書き方がわかるんですが select count(*) from Tablexxx の結果をラベルに代入するサンプルが見つからない。 どなたかご存知でしたら教えて。
133 名前:nobodyさん mailto:sage [2007/09/10(月) 22:02:34 ID:???] >>130 SQL Server 2003とは?
134 名前:nobodyさん mailto:sage [2007/09/10(月) 22:08:03 ID:???] >133 すみません、SQL Server 2000 でした。
135 名前:nobodyさん mailto:sage [2007/09/10(月) 23:55:16 ID:???] 結果をラベルに代入とは?
136 名前:nobodyさん mailto:sage [2007/09/11(火) 01:49:13 ID:???] Labelコントロールで表示したいんじゃね
137 名前:nobodyさん mailto:sage [2007/09/11(火) 13:42:38 ID:???] GridViewで表示できるならLabelでもなんでも表示できるだろと。 どうせLabelにはデータソース指定がないからGridViewみたいにコーディングレスじゃ割り振れないってだけだろ。 普通にSQL発行して戻り値でSELECT結果返す関数作って その戻り値をLabelに入れるなりなんなりすればいいだけ。 Label1.Text = GetSqlquery(); でいいだろ。
138 名前:nobodyさん [2007/09/11(火) 20:34:07 ID:jV5pYbSS] >137 サンキュー! そうでした、単純にクエリーの実行結果を得る方法さえわかれば どうってことないことでした。
139 名前:nobodyさん mailto:sage [2007/09/12(水) 16:40:18 ID:???] [IIS-5.0][Framework 1.1][VB.Net2003] でwebアプリケーションを開発しています 現在、モバイルWebアプリケーションを作成しているのですが 状態管理のセッションキーがURLに埋め込まれますが このセッションキーの埋め込み位置を変更することは できないでしょうか? 例: www. ○○○.com/mobile/(セッションID)/index.aspx ↓ www. ○○○.com/mobile/index.aspx?session=セッションID という感じにできませんか? おわかりの方がおられればぜひご教示ください。
140 名前:nobodyさん mailto:sage [2007/09/12(水) 23:00:57 ID:???] ASP.NET2.0、Ajax Extensionsを使用しています。 Panelの中にUpdatepanel、Updatepanelの中で<div> </div>で囲んだ Gridviewコントロールを配置しています。Gridviewで表示した表は 一定間隔で自動更新表示(タイマー使用)しています。 ブラウザ側のスクロールバー位置はMaintainScrollPositionOnPostback="true" により同じ位置を保持可能ですが、ヘッダー固定したGridView側のスクロール バー位置が上に戻ってしまいます。内部のスクロールバー位置ももとの位置を 保持させるにはどのようなコードを追加すればよいのでしょうか。 ご存知の方、おしえてください。
141 名前:nobodyさん mailto:sage [2007/09/12(水) 23:52:58 ID:???] >>129 ルート演算子「~」とかがおかしくなった気がする。 MSDNあたりでこれ関係の記述を見た記憶が。 >>139 自分でセッションの代わりを作らない限り無理だと思う。 で、絶対パスでセッションが切れるとかリダイレクトとかの問題なら 解決策はあるが、見た目の問題とかならしらね。 >>140 MaintainScrollPositionOnPostback="true"で作成される JavaScriptと同じ事をやればいい。 Hidden項目2つ(x,y)用意してGridViewを囲んでるdivの(javascriptの) onscrollイベントで縦・横位置を記憶するJavascriptを作る で、次に縦・横位置を復元するjavascriptを用意する。 ここまでは、UpdatePanelだろうが通常のポストバックだろうが同じ。 次に通常のポストバックなら縦・横位置を復元するjavascriptを Page.ClientScript.RegisterStartupScriptで呼べばいいが、 UpdatePanelの場合は非同期通信で作成されるJavascriptの endRequestをフックするか、ASP.NET側のScriptManager.RegisterStartupScript あたりで非同期通信後に呼ぶ。 まぁ、GridViewが複数同一ページ内にある場合とか考えても、 Hidden項目がその分必要になるから、スクロールしているdivを カスタムコントロール化するべきだと思うが。 ScriptManager.RegisterStartupScript
142 名前:nobodyさん [2007/09/13(木) 23:05:53 ID:f7p5yovk] Visual Studio 2005でASP.NET使ってWebアプリ作る時って、 Webサイトプロジェクトと、Webアプリケーションプロジェクトの どっちで作るほうがいいの?入門書見たらWebサイトプロジェクトで 説明してるものばかりだけど…
143 名前:nobodyさん mailto:sage [2007/09/14(金) 01:00:26 ID:???] >141 ありがとう。 divの(javascriptの) <div onscroll=..... てところが書けない。 onscrollという属性が予約語でないのか、エラーになります。 どのようにすればよいのでしょうか?
144 名前:nobodyさん [2007/09/14(金) 02:35:05 ID:CiMbiaO2] ASP.NETのBinフォルダに.NETアセンブリ以外を入れたら何か問題ありますでしょうか? Cで作成したネイティブのDLLを参照する必要があり、それを入れたいです。 他にもBinにログファイルを作成する.NETアセンブリもあったりするのですが問題ありますでしょうか? (ASP.NETアプリからはそのCのDLLのラッパを呼び出している。ラッパはBinフォルダの中にある。) サイト Bin native.dll wrapper.dll
145 名前:nobodyさん mailto:sage [2007/09/14(金) 02:52:17 ID:???] >Binにログファイルを作成する そいつはまずい。 まじで。
146 名前:nobodyさん mailto:sage [2007/09/14(金) 10:10:05 ID:???] >>143 それ、XHTMLに準拠しているかの検証エラーなだけなので 気にしないで進めろ。 XHTMLに準拠が気になるなら、 ・Javascriptでdivのイベントに処理を割り付ける document.getElementById(???).onscroll = function ・・・ ・divにrunat="server"(Panelコントロールでもいい)を付けて ASP.NETコントロールにしてAttributes("onscroll")でJavaScript を文字列で書き込む。 好きな方でやればVSのデザイン時にXHTML検証でエラーは出ない。
147 名前:nobodyさん mailto:sage [2007/09/14(金) 22:48:45 ID:???] >146 んーー、非常に勉強になりました。 アドバイスの通り試行錯誤してみます。 重ね重ね本当にありがとうございました!!
148 名前:nobodyさん mailto:sage [2007/09/14(金) 23:43:51 ID:???] >>147 スクロールバーを表示している<div>をUpdatePanelのすぐ外に 置いてスクロールの内部を非同期通信させる方法で対応できる ならそれが簡単かも。 UpdateProgressを使ってたり、ポストバックの更新時、UpdatePanelの入れ子とかで 内部表示の幅がが一時的に小さくなったり、divが再描画されたりすれば スクロール位置は戻るので現在の処理が絡むので分からんけど。 まぁ、>>141 の内容と組合せるとかすれば出来ない事は無いだろうけど。
149 名前:nobodyさん mailto:sage [2007/09/17(月) 03:52:15 ID:???] <script>タグの中で<%= =>がマークアップされないのって、何とかならないのかな 一瞬動かないものなのかと思ってしまいました。 まさかMS非推奨、とかじゃないですよね?
150 名前:nobodyさん mailto:sage [2007/09/17(月) 08:48:12 ID:???] >>149 ><%= => ・・・え?
151 名前:nobodyさん mailto:sage [2007/09/17(月) 09:30:35 ID:???] >>149 <%= =>って<% %> レンダリング ブロックのことか? 普通に<script type="text/javascript">alert('<%="aaa" %>');</script>で出力されるが。 よくわからん。
152 名前:nobodyさん mailto:sage [2007/09/17(月) 15:27:31 ID:???] VS上で強調表示されないってことです。細かくてすいません。。
153 名前:nobodyさん mailto:sage [2007/09/24(月) 16:52:06 ID:???] Imports Oracle.DataAccess.Client Public Shared Function OracleRead(ByVal wSql As String) As Object cnn = New OracleConnection cnn.ConnectionString = "hogehoge" cnn.Open() cmd = New OracleCommand cmd.Connection = cnn cmd.CommandType = CommandType.Text cmd.CommandText = wSql OracleRead = cmd.ExecuteReader End Function こんな感じの繋ぎ方で、Oracleに接続して結果セットを得ているのですが、この結果セットの フィールド名はこのオブジェクトから得ることができるのでしょうか? Dynasetで結果を得ていたときは 結果セット.FieldName(i).ToString で得られていました。 同じようなプロパティはあるのでしょうか?
154 名前:nobodyさん mailto:sage [2007/09/24(月) 22:53:03 ID:???] >>153 そのreturnのObjectを素直にOracleDataReaderに してるのならGetNameで。 DataAdapterで変換してるのなら変換後の型の メンバをMSDNで調べてください。
155 名前:nobodyさん mailto:sage [2007/09/25(火) 16:35:24 ID:???] ASPの質問というよりwebサービスに対する質問なんですが. VS2005でクライアントの「WindowsFormアプリ」と「Asp.NETWebサービス」を(ともにC#) 共存させるソリューションを作っているのですが, クライアントの参照設定->右クリック->Web参照の追加 で「Asp.NETWebサービス」を追加したのですが, [WebMethod]で指定した関数を呼び出すことができません. WebServiceのクラスがMySeriviceの場合 MyService ms = new MyService(); はエラーを吐かずに実行できるのに. string str = ms.HelloWorld(); は次のエラーと警告を出します. ・無効なトークン '(' が クラス、構造体またはインターフェイスのメンバ宣言で使用されています。 ・WebServiceBindingAttribute が プロキシ クラスで必要です。 WebServiceBindingAttribute をどのように作成すればいいでしょうか
156 名前:nobodyさん mailto:sage [2007/09/25(火) 18:01:48 ID:???] >>155 単なるコンパイルエラーだと思うけど。 HelloWorldの中身の"("付近を見直してみれば。
157 名前:155 mailto:sage [2007/09/25(火) 18:24:50 ID:???] >>156 さん 反応どうもです [WebMethod] public string HelloWorld() { return "Hello World"; } これがWebMethodのコピペです, 間違ってはないと思うのですが MyServiceを参照する際, MyS まで入力して「Ctrl+Space」を押すと候補一覧に「MyService」が表示されるのですが. MyService ms = new MyService(); をした後 m まで入力して候補を探しても 「ms」 は見つかりませんでした. もちろん ms まで入力して「.」を押してもメソッド一覧が表示されませ. しかしオブジェクトブラウザでMyServiceを見たらHelloWorldメソッドが登録されているので, なんだかもうわからない状態です...
158 名前:nobodyさん mailto:sage [2007/09/25(火) 20:54:14 ID:???] localhost/MyService/Service1.asmx の場合 localhost.MyService ms = new localhost.MyService(); のように指定した気が
159 名前:153 mailto:sage [2007/09/25(火) 21:00:40 ID:???] >>154 サンクスです。 GetNameで取れました。
160 名前:155 mailto:sage [2007/09/25(火) 21:24:54 ID:???] >>158 さん はんのうありがとうです. usingを指定して,すでに名前空間は解決しているつもりでした. 名前空間と言えば [WebService(Namespace = "kaigen.org/" )] WebServiceで記述されているこれは使用するのでしょうか?
161 名前:155 mailto:sage [2007/09/26(水) 03:15:18 ID:???] 自己解決?しました WebServiceクラスを呼び出しているところを 普通のクラスファイルじゃなくて, Windowsフォームテンプレートを用いで作成したクラスからなら 呼び出せることがわかりました. 原因は不明ですが,とりあえずこれで動くので, これで作成しようと思います.
162 名前:nobodyさん mailto:sage [2007/09/26(水) 15:32:27 ID:???] 継承しているクラスくらい見ろよな
163 名前:nobodyさん [2007/09/26(水) 21:02:25 ID:yYWQHXI+] 次のようなイメージでTreeViewのノードを動的に追加できるASP.NET2.0 Webアプリを 作成したいと思っています(使用言語C#)。 ブラウザの左側にTreeviewを表示(例menu.aspx)し、上位ノードを右クリック して「新規作成」をクリックすると、新たなノードを作成するために必要な パラメタの入力を促すウィザードまたは入力可能なダイアログを表示する。 新たなノードを作成する際にパラメタとして、ノード名、DB名、Table名程度を 入力し(それ以外はシステムで決まっている値とする)、サブノードが出来上がる というかんじです。右側はGridViewでDBのテーブルを表示します。 左側(menu.aspx)をどうすればよいか悩んでいます。 参考になるサイトがあれば教えてください。またご存知であればご教授ください。 よろしくお願いします。
164 名前:nobodyさん mailto:sage [2007/09/26(水) 22:57:49 ID:???] >>163 技術が無いんなら「自分でできる」所までまずは 作りましょう。それから出来ない点のみを質問しましょう。 改造は必要だがこの辺を参考にしてください。 ttp://www.codeproject.com/aspnet/xtreeview.asp 自作するなら、Treeviewを表示→(右クリック→メニュ)→(ダイアログ)→ポストバック →Treeviewを更新で括弧以外簡単だと思うが。 リンクの右クリックメニューはライブラリあたりで、右クリック時にノード情報退避して、 ダイアログは別ウインドウかレイヤ(<div>タグにstyleでPOSITION:absolute)あたりで 表示させれば良いと思います。 面倒なら商用が色々とありますので購入してください。 ttp://www.componentsource.co.jp/products/telerik-rad-treeview/index.html
165 名前:nobodyさん mailto:sage [2007/09/26(水) 23:27:43 ID:???] >164 うわっ!スゴイ!!十分に参考になります。 codeproject.comは知っていましたが、辿り着けなかった・・・。 商用のものはすごいですね。資金がないため購入はできませんが とても参考になります。本当にありがとうございました。
166 名前:nobodyさん [2007/09/27(木) 05:38:58 ID:7u8fuvQl] テキストボックス内でキーボードのEnterを押したら、ボタンが押下されたようにしたいです。 テキストボックスのonkeypressでEnterを捕捉し、ボタンが押下されたときのサーバ側のイベントを呼ぶように クライアントスクリプトを書こうと思ったのですが、よく分かりません。 - サーバ側のイベント void btnExecute(object sender, EventArgs e){ //proc } - テキストボックスでEnerキーが押されたときにコントロールを指定してポストバックする <asp:TextBox 。。。 onkeypress="if(エンターキーが押された)__doPostBack('btnExecute');"></asp:TextBox> のようにすればいいのかな。と思ったのですがうまくいきませんでした。 クライアントコールバックではなく、単純にボタンを押されたときと同じにしたいのですが どのようにすればよいのでしょうか?
167 名前:nobodyさん mailto:sage [2007/09/27(木) 10:41:16 ID:???] >>166 <asp:Button>はUseSubmitBehavior="False"でない時、 HTML上は<input type="submit">で出力されますがこの場合 他のコントロールと異なり直接「__doPostBack」は呼ばれずに formのSu・・・・・・・・・めんどくせ。 興味があるんなら自分で調べてみてください。 で、UseSubmitBehavior="False"にして__doPostBackするなり ASP.NETのjavascriptのイベント処理で解決する事も可能だが 一番簡単なのはコントロールを直接クリックすればいいだけ。 .Net側 text.Attributes("onkeypress") に "aaa('"+ Button.ClientID "+)" javascript function aaa(objName) { if(エンターキーが押された) document.getElementById(objName).click(); } .Net側はHTML上のボタンのID名を取得の為に処理しているだけなので、 aspxの<asp:TextBox onkeypress="ここ"だけに入力したいとか言われそうだが それも可能なので調べてみてください。
168 名前:166 [2007/09/27(木) 22:07:24 ID:7u8fuvQl] 詳細な説明ありがとうございます。 ClientID=エレメントのIDなページ構成なので asp:TextBoxに onkeypress="if(エンターキーが押された) document.getElementById(''btnExecute').click();" で対応できました。 サーバ側でプログラムでJavaScriptを書くのってTry&Errorし辛くて不便ですよね スクリプト内部もタイプセーフ(JavaScriptセーフ?)に書ければいいのに。と思った。
169 名前:nobodyさん mailto:sage [2007/10/02(火) 00:54:30 ID:???] ASP.net2.0+AJAX.net2.0+C#で開発しています。 TreeViewについて質問させてください。 [質問内容] UpdatePanel内にTreeViewを配置した時にTreeViewのPopulateイベント で同一UpdatePanel内の別のコントロールに値をセットできません。 ViewStateも利用できない状態です。 他に、Populateイベントを有効にするとTreeNode以外のボタン押下時 イベントも同時に動いてしまうのも悩みです。 どなたか同じような問題を解決した方がいましたらご教示ください。 宜しくおねがいいたします。
170 名前:nobodyさん mailto:sage [2007/10/02(火) 20:58:52 ID:???] >>169 同一UpdatePanel内のPopulateイベントで Me.TextBox1.Text = e.Node.Text で試してみたがセットできるんだが。 まぁ、そもそも ttp://cs.gogo-asp.net/blogs/naoki/archive/2007/01/24/UpdatePanel-_B330F330C830ED30FC30EB300A4E67302952287567304D306A304430B330F330C830ED30FC30EB30_.aspx と言うように正確な情報も無ければ、解決には様々な要因が絡むパターンなので 関連する部分のソースでも無い限り答えるのは無理だけどね。 リンク先の対応策をよく理解してから自分で調べるといいと思います。
171 名前:nobodyさん mailto:sage [2007/10/02(火) 23:20:01 ID:???] >>170 ありがとうございます。 単純な事でしたが、EnableClientScriptがtrueになっている事が原因でした。 EnableClientScriptをfalseにする事でコントロールに値をセットする事や ViewStateに値をセットする事ができました。 今回はPopulateイベントで別のコントロールに値をセットするという仕様 でしたが、一度展開したノードではPopulateイベントが発生しなく なるため、2度目以降のノード選択時に別のコントロールに値をセット できなくなってしまったので、Expandedイベントを利用しました。 PopulateイベントからノードのPopulateOnDemandプロパティにtrueを 設定しても一度展開された扱いになってしまい現象変わらず。 (該当ノードを削除して再度同じノードを作成すればいいかも知れま せんが次にコードを見た人がつら過ぎるコードになるので実装せず)
172 名前:nobodyさん [2007/10/04(木) 14:17:51 ID:HVPnYgkb] PHPしかやったことないのですがASPをやろうと思ってます PHPユーザにお勧めの言語があれば教えてください UNIXが優位だったからPHPをはじめたのにいつのまにかWINDOWSに抜かれてるなんてorz
173 名前:nobodyさん mailto:sage [2007/10/04(木) 17:55:01 ID:???] PHPしかやったことが無い とか関係あるか分からないけど ASP.NETなら C#とJavaScriptやっとけばいいんじゃない?
174 名前:nobodyさん mailto:sage [2007/10/04(木) 22:00:36 ID:???] C#が解説とサンプル多くていいと思うよ。 VB.NETも同じくらい多いけど、言語的にはC#のほうがPHPに近い。
175 名前:nobodyさん mailto:sage [2007/10/05(金) 05:43:34 ID:???] PHP ≒ Java ≒ C♯ VB糞
176 名前:172 mailto:sage [2007/10/05(金) 15:38:56 ID:???] レスおそくなってすみません >>173-175 レスどうもありがとうございます C#のほうが近いとのことなのでC#でいきたいと思います 帰ったら開発環境とIISインストールして早速遊ぼうと思います
177 名前:nobodyさん mailto:sage [2007/10/06(土) 03:15:56 ID:???] パラメータソースとしてWebUserControlのプロパティを使いたいんだけど バインド画面のリストに表示するようにするには、どうしたらいい? 属性?それともインターフェイス?
178 名前:nobodyさん mailto:sage [2007/10/06(土) 11:40:13 ID:???] >>177 質問の意図が「プロパティを使いたい」のか「リストに表示したい」のか 分からんけどControlParameterのPropertyNameで選択したリストに 表示されなくても直接UserControlで作成したプロパティ名を入力すれば 使えたはず。 リストに表示したいと言うのも出来たはず。 おれは動的にControlParameterを発生させるので、ど忘れして思い出せない。 って、事でこのスレの詳しい人に任せます。
179 名前:177 mailto:sage [2007/10/06(土) 22:11:06 ID:???] >178 thxです。コレ手書きOKなのね。 さらにリストから選択できれば言うことないので、誰かヒントお願いします。 ちなみに Control にしたとき、下記のようにコントロール名が2行づつ表示されるのは常識なんですか? GridView1 GridView1
180 名前:nobodyさん mailto:sage [2007/10/06(土) 23:14:35 ID:???] WebUserControlのイベントってデザイナで指定できないのですか?
181 名前:nobodyさん mailto:sage [2007/10/07(日) 00:39:00 ID:???] だれかエスパーを
182 名前:nobodyさん mailto:sage [2007/10/07(日) 02:05:08 ID:???] >>180 プロパティウィンドウの使い方が分かってないんじぇね? プロパティウィンドウ最上部の雷マークで切り替えてイベント追加できるから
183 名前:nobodyさん mailto:sage [2007/10/07(日) 23:25:26 ID:???] WebUserControl使ったことあるやつなら >>180 が言ってることわかるだろ。 ちなみにC#な。
184 名前:nobodyさん mailto:sage [2007/10/07(日) 23:30:53 ID:???] わかるんなら答えてやれよw
185 名前:180 mailto:sage [2007/10/07(日) 23:47:37 ID:???] >>181 >>182 説明がわるくてすみません。 自作のWebUserControlをWebFormに貼り付けると、イベント・プロパティとも プロパティウィンドウに表示されません。(雷ボタンも表示されない) ちゃんとpublicプロパティやイベントは書いてます。 >>183 ということはC#ではできないのですかね?
186 名前:nobodyさん mailto:sage [2007/10/08(月) 03:27:19 ID:???] ああ、ユーザーコントロールの枠で選択されちゃって、個々のコントロールが操作できないやつね。 あれはだな、・・・
187 名前:nobodyさん mailto:sage [2007/10/08(月) 16:21:04 ID:???] ↑なんか概念的に間違ってるぞおまえ
188 名前:nobodyさん [2007/10/13(土) 12:20:47 ID:cIDXI8N9] 初歩的な箇所で申し訳ないのですが質問させてください ASP1.0でフォーム認証を試そうとして↓をWeb.Configに <authentication mode="Forms" > <forms loginUrl = "login.aspx" /> </authentication> <location path="checkout.aspx"> <system.web> <authorization> <deny users="?" /> </authorization> </system.web> </location> を追加したのですが”構成セクションlocationを認識できません”とエラーになります 何が原因でしょうか
189 名前:nobodyさん mailto:sage [2007/10/13(土) 15:53:32 ID:???] >>188 単純に、locationが認識できないと言う時のエラーだから、 location要素の書く位置間違ってるんじゃねーの? configurationの直下に書いてるか? とりあえずは、Web.Configを省略せずに書いてもらわんと分からん。
190 名前:nobodyさん [2007/10/13(土) 20:41:18 ID:cIDXI8N9] >>189 Web.ConfigのXML自体あまり理解できていないと思うので答えが曖昧かもしれませんが 一応<configuration>のステートメント内には収まっていると思います <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.web> <compilation defaultLanguage="c#" debug="true" /> <customErrors mode="RemoteOnly" /> <authentication mode="Forms" > <forms loginUrl = "login.aspx" /> </authentication> <location path="checkout.aspx"> <system.web> <authorization> <deny users="?" /> </authorization> </system.web> </location>
191 名前:190続き [2007/10/13(土) 20:45:39 ID:cIDXI8N9] <trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" /> <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;user id=sa;password=" cookieless="false" timeout="20" /> <globalization requestEncoding="utf-8" responseEncoding="utf-8" /> </system.web> </configuration>
192 名前:188 [2007/10/13(土) 20:53:54 ID:cIDXI8N9] >>189 できました! 本当にconfiguration”直下”なんですね ご教示有難うございます。 どちらにしても、このXML自体あまり理解できていないようなので 勉強しなおしてみます。
193 名前:nobodyさん mailto:sage [2007/10/13(土) 21:04:39 ID:???] >>190 <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.web> <compilation defaultLanguage="c#" debug="true" /> <customErrors mode="RemoteOnly" /> <authentication mode="Forms" > <forms loginUrl = "login.aspx" /> </authentication> <trace ・・・ /> <sessionState ・・・ /> <globalization ・・・ /> </system.web> <location path="checkout.aspx"> <system.web> <authorization> <deny users="?" /> </authorization> </system.web> </location> </configuration> VS2005だから.net2.0でしか確認できんけど、で、いけると思う。 locationの配下に無い<system.web>はサイトルートを含む全ての ファイルとフォルダに対する指定だから<location path="ルートパス">が 指定されてる意味になるから、その中に<locationが入れ子されると 意味不明な指定になる。
194 名前:nobodyさん mailto:sage [2007/10/13(土) 21:06:25 ID:???] 更新していなくて余計なレスしちまった。
195 名前:195 [2007/10/15(月) 04:26:21 ID:1vOjoM00] 環境は以下です。 VS2005 VB.net ASP2.0(だと思います) なぜか*.aspxの他に自分で追加した*.vb内のClass内で"テスト"のように「""」で括った文字列が 文字化けの状態で変数に格納されてしまい困っています。 ファイル名:Class1.vb Imports Microsoft.VisualBasic Public Class Class1 Public Function func() As String Return "テスト" End Function End Class ファイル名:default.aspx Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim s As String s = "テスト" Diagnostics.Debug.WriteLine(s) Dim cls As Class1 = New Class1 Diagnostics.Debug.WriteLine(cls.func()) End Sub 出力内容 テスト ?e?X?g
196 名前:195 [2007/10/15(月) 04:27:11 ID:1vOjoM00] 「?e?X?g」が文字化けでなぜか「テスト」と表示されないので悩んでいます。 前提条件としてDBにアクセスするためDataSet1.xsdがプロジェクトに追加してあります これに付随してweb.configに以下の内容を追加してあります 追加内容:<globalization requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="utf-8"/> 理由:DataSet1.xsdを作成するとコンパイルエラーが発生したため コンパイルエラーの内容:エラー 1 入力 xml ファイルの内容を DataSet に変換できません。名前の先頭に '0' (16 進数値 0x30) を使用することはできません。 行 32、位置 168 です。 C:\Users\***** プロジェクトからDataSet1.xsdを削除し、関連コードを削除し実行すると文字化けはなくなりますが、 DBを使用するためそれはできないです。 また、default.aspx内にClass1の定義を貼り付けたら問題なく表示されますが、 なぜか別ファイルに分離(Class1.vb)すると文字化けします。 まとめますと上記のサンプルコードは単体では再現せず、 DataSet1.xsdにテーブル定義を追加し、コンパイルエラー回避のためglobalizationを追加すると再現するようになります。 この状態ですと自分で追加した*.vb内でDim s As String="テスト"をすると sに文字化けしたものが格納されます。 1週間ほど悩みましたが全く進展がなく暗礁に乗り上げました。 ご存じの方お教えいただけませんか? よろしくお願いします。
197 名前:nobodyさん mailto:sage [2007/10/15(月) 06:28:13 ID:???] fileEncoding="shift_jis" にすると解消するというオチでは。。。 globalization requestEncoding="utf-8" でググったら最初に出て来た。
198 名前:nobodyさん mailto:sage [2007/10/15(月) 12:31:20 ID:???] >>195 なにも理解せずにデータセット「.xsd」の不具合対策を入れたんだろうな。 <globalization requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="utf-8"/> VB.NETの場合、.aspxや.aspx.vbは(デフォルトなら)HTMLをUTF-8で出力する 関係上、文字コード「UTF-8 BOM付き」で保存されるんだが、「新しい項目の追加-クラス」で 追加された「Class1.vb」は、文字コード「Shift-JIS」で保存されます。 (「新しい項目の追加-クラス」の「Shift-JIS」はVSのバグっぽいが) このように.aspx.vb「UTF-8 BOM付き」、Class1.vb「Shift-JIS」と文字コードが混在していても 通常は動作する時に文字コードを自動判別するので問題は起きないのですが、 <globalization fileEncoding="utf-8"/>を追加すると、プロジェクト内の全てのファイルを「utf-8」 で読もうとする為、当然「Shift-JIS」で保存されているClass1.vbの2バイト文字は化けます。 余談だが、レコードセット「.xsd」の不具合の方もこれに若干似ていて、「UTF-8 BOM無し」で保存 されるから日本語のフィールドやテーブル名があると起きる。 上記から導き出せる解決策 1.globalizationで「.xsd」の不具合修正を追加したまま「Class1.vb」を「UTF-8 BOM付き」にする。 2.globalizationを削除して、「.xsd」を「UTF-8 BOM付き」で保存する。 3.globalizationを削除して、「.xsd」と「Class1.vb」を「UTF-8 BOM付き」で保存する。 他にも方法はあるがこの中から選べばいい。 (「.xsd」はShift-JISで保存でも解決したり) 文字コードの変更方法は、テキストエディタでも良いしVSからなら 該当ファイルを開いて「ファイル-名前をつけて保存-保存ボタン右の▼-エンコードつきで保存-エンコード」
199 名前:195 mailto:sage [2007/10/16(火) 21:26:18 ID:???] >>197 >>198 おかげさまで無事解決しました。 対処としては >2.globalizationを削除して、「.xsd」を「UTF-8 BOM付き」で保存する。 これを選択しました。 >3.globalizationを削除して、「.xsd」と「Class1.vb」を「UTF-8 BOM付き」で保存する。 こちらについては globalzationを消し去ったことでClass1.vbのShift-JISを自動認識して読み込んでくれているから だと思うのですが特にUTF-8 BOM付きに変換しなくともく正常に動作しました。 ありがとうございました。
200 名前:nobodyさん mailto:sage [2007/10/17(水) 00:16:33 ID:???] >>199 悪い行数制限に引っかかりそうだったので省略したが、なんでわざわざ「3.」の 選択肢も書いたかと言うと、C#だと「新しい項目の追加-クラス」で作成したファ イルはデフォルトで「UTF-8 BOM付き」になる。 マイクロソフトが不具合と認めている報告は今の所見つからないが。 レコードセット「.xsd」の「UTF-8 BOM無し」はC#でもVBでも起きる問題をマイクロ ソフトは不具合と考えているぽい。 で、ここから考えるにVSの動きとしては基本的にファイルを「UTF-8 BOM付き」で 保存する動きなので、そう言った面を気にするならって事で「3.」を追加した。 とりあえず動作する事が目的なら >globalzationを消し去ったことでClass1.vbのShift-JISを自動認識して読み込んでくれているから >だと思うのですが特にUTF-8 BOM付きに変換しなくともく正常に動作しました。 この理解で問題ないと思います。
201 名前:195 mailto:sage [2007/10/17(水) 01:45:19 ID:???] >>200 なるほど。 なんで >3.globalizationを削除して、「.xsd」と「Class1.vb」を「UTF-8 BOM付き」で保存する。 の選択肢がわざわざ用意されているのかと疑問に思っていました。 要約すると ・vbで「新しい項目の追加-クラス」で作成されたファイルのエンコードが既定が「Shift-JIS」であり C#の場合は「UTF-8 BOM付き」であること ・今後の流れとしてはおそらく既定が「UTF-8 BOM付き」で保存する流れであることから 「UTF-8 BOM付き」で保存するのも吉 ということですね。 現在わかっている不明な動作としては ・VBとC#で「新しい項目の追加-クラス」での保存形式が違う ・「.xsd」が「UTF-8 BOM無し」で保存される であり、上の2つは不具合、もしくは不具合に近い動作であり、なぜかを追求する必要はなく、 とりあえず>>199 の方法で対処だけしておけばよい。 ですね。 非常に参考になりました。 間違っている部分がありましたら指摘していただけるとありがたいです。
202 名前:nobodyさん [2007/10/17(水) 13:59:27 ID:ZhgS5P3I] 検索エンジンの検索窓みたいに(キーワードの間に空白を入れてAND検索とか)という機能を持つ検索ボックスを使いたいんですけど、この場合、自前でキーワードを解析してSQL文を組みてる必要がありますか?
203 名前:nobodyさん mailto:sage [2007/10/17(水) 16:28:04 ID:???] >>201 その認識で良いと思います。 マイクロソフトの正式な回答では無いのでどれを 選択するかは自由ですが。 >>202 結論から言えば自前だね。 そもそも、検索エンジンの空白でAND検索って形態素解析の ほんの一概念でしかないのに「とか」と言われても。 とりあえず、空白でAND限定なら入力された文字列を Split関数で配列化してForEachで回して各文字列の頭に「AND フィールド名=」 を付加してwhere作ればすぐ出来ると思う。
204 名前:195 mailto:sage [2007/10/18(木) 01:37:25 ID:???] >>203 了解です、 細かな解説ありがとうございました。
205 名前:nobodyさん mailto:sage [2007/10/18(木) 21:03:24 ID:???] ASP.NET2.0, VisualStadio2005,C# or VB.NETを使ってます。 GridViewでデータを表示し、編集ボタンクリック。 編集モードで更新ボタンクリックして更新中にエラーが発生したら その趣旨メッセージとOKボタンのダイアログボックスを表示。 意外とサンプルが見つからず。どなたか教えてください。
206 名前:nobodyさん mailto:sage [2007/10/18(木) 22:25:05 ID:???] サーバーサイドで動いてるのにダイアログボックスて。 JavaScriptとかでポーリングするつもりかい。
207 名前:nobodyさん mailto:sage [2007/10/18(木) 23:01:54 ID:???] >>205 if (エラー時) { page.ClientScript.RegisterStartupScript(page.GetType(),"ErrorAlert", "alert('エラー');", true); } で処理を抜けて、画面に描写を行わせればJavascriptが動いてメッセージボックスが 表示される。
208 名前:nobodyさん mailto:sage [2007/10/19(金) 20:42:03 ID:???] >207 ありがとう。 おかげさまで調べやすくなりました。 そのままでは動かなかったけど、次のように書いたらOKとなりました。 ScriptManager.RegisterStartupScript(Me.Page, Me.GetType(), "ErrorAlert", "window.alert('エラーだぴょん!');", True)
209 名前:nobodyさん mailto:sage [2007/10/19(金) 21:53:35 ID:???] >>208 悪い。間違ってた。 C# ClientScript.RegisterStartupScript(this.GetType(), "ErrorAlert", "alert('エラー');", true); VB ClientScript.RegisterStartupScript(Me.GetType(), "ErrorAlert", "alert('エラー');", True) だったわ。 つうか、ScriptManagerってAjax利用してるのか? ついでだから教えとくけど、ScriptManagerはAjaxのScriptManagerコントロール がある時しか認識しないぞ。 動作的には簡単に言うと ScriptManager.RegisterStartupScriptはajaxの非同期通信直後とページ描写時に javascriptが吐き出される。 ClientScript.RegisterStartupScriptはページ描写時にjavascriptが吐き出される。 って感じだからタイミングによって使い分ける必要がある。 詳しくは自分で調べてみるといいよ。 Ajax非同期通信後に