トップページphp
986コメント449KB

【質問】ASP.NETスレ Part4【議論】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/07/17(火) 23:49:46ID:pyJr9yIy
●過去ログ
Part1 - 【質問】 ASP.NETスレ 【議論】
http://pc5.2ch.net/php/kako/1040/10406/1040698263.html

【質問】ASP.NETスレ Part2【議論】
http://pc8.2ch.net/test/read.cgi/php/1111480331/

【質問】ASP.NETスレ Part3【議論】
http://pc11.2ch.net/test/read.cgi/php/1160355849/
0083nobodyさん2007/08/12(日) 21:00:44ID:???
>>81
簡単には無理だね。
javascriptでTreeviewのチェックボックスにイベント割り当てて
ASP.NETのサブミットさせるとかでうまく出来そうだけど。
0084nobodyさん2007/08/12(日) 21:23:38ID:CwIQgpKd
>>79,82
ファイル名を変えなくてもパラメータを変えれば別物と判断されるんですね。

A.html?ver=1.0
A.html?ver=2.0
って別物と判断してくれるってこと?
0085nobodyさん2007/08/12(日) 21:30:23ID:???
別物って微妙…
0086nobodyさん2007/08/12(日) 21:45:47ID:???
>>84
まず、
実際試してキャッシュフォルダ(Temporary Internet Files)とか確認したら?
その上で、ページを表示している状態で更新してもキャッシュが利用されて
いないか確認したらいいんでない。

で、これってASP.NETでページ作らなくても静的なHTMLでも確認できるん
だから聞く前に試してみた方がいいよ。

ソースが欲しいのなら
ttp://yuki.silk.to/2006/04/000170.html
0087nobodyさん2007/08/14(火) 12:07:12ID:hGLDM3MP
質問です
環境はVS2005 C#です
masterページに動的に配置したcalendarコントロールのselectedDateイベントを
コンテンツページから取得するにはどうすればいいのでしょうか?

実現したい動作はmasterページのcalendarコントロールの日付を選択
その日付をコンテンツページで取得して選択された日の予定一覧を表示です。
0088872007/08/14(火) 12:11:07ID:hGLDM3MP
追記です。
コンテンツページで作成したcalendarコントロールをmasterページに
渡してイベントを拾う事は出来るのですが、連続して日付を選択して行くと
二回目以降に[viewstateの読み込みに失敗しました]というエラーが出ています
0089nobodyさん2007/08/14(火) 20:28:06ID:???
>>87
問題の原因が特定できないならソースを貼るべきだと・・・

まぁ、予測だが「viewstateの読み込みに失敗しました」と言ってるのを見ると
masterページうんたらよりも動的コントロールの部分が問題の気がする。
「Page_Load」以下で動的に(viewstateがtrueの)calendarコントロール作成して無い?
その場合「Page_Init」で作成するようにして「追記」の状態で確認してみ。
0090nobodyさん2007/08/19(日) 12:55:08ID:???
このスレの質問が、ほぼ全て教えてクンで笑った。
「教えてクン養成マニュアル」置いておきますね。
ttp://www.redout.net/data/osietekun.html
0091nobodyさん2007/08/19(日) 17:31:02ID:PhTQfUKC
webディレクトリー以外に置いたファイルをダウンロードするには
どうすればよいでしょうか?
0092nobodyさん2007/08/19(日) 17:42:12ID:???
>>91
http://support.microsoft.com/kb/307603/ja

0093nobodyさん2007/08/19(日) 19:48:45ID:PhTQfUKC
>>92
ありがとうございます。
.NETじゃないaspでは無理なのでしょうか?
とりあえず考えた方法は、aspにアクセスした時にwebディレクトリーへ
該当ファイルをコピーしてその後コピー先にredirectという方法が
いけるかなと思いついたんですが、ダウンロード完了後にコピーファイルを
削除したいのですが、ダウンロード完了のタイミングを取得するには
何か方法ありませんでしょうか?
0094nobodyさん2007/08/19(日) 21:30:38ID:???
>>93
いや、勘違いしてるんだが、

Response.ContentType = "application/octet-stream"
Response.WriteFile("C:\aaa.txt")
Response.End()

と言うように、「Response.WriteFile」のパスは仮想ディレクトリ
では無い物理パスを指定すればいいだけ。

で、ダウンロード完了のタイミングと言うのは取れないが、
「Response.BinaryWrite」を使えば「Response.End()」の前に
ファイルを削除出来るので送信したら削除も可能なんだが
さらに勘違いしていてここはASP.NETのスレなんだが・・・・・。

まぁ、ASPでも出来るから調べるなり該当するスレに移動するなり
した方がいいよ。
0095nobodyさん2007/08/19(日) 22:52:06ID:fhtMy5hW
ArrayList list;
for(int=0;i<list.count;i++){
Label[i].Text="ラベル"+[i]
}

とaspx.csに入力した場合、
listのカウント数が100件ならば画面上にLabelを1〜100件つくって、ラベル1〜100を表示
listのカウント数が0件ならばaspx側でlabelを作成しないなど
画面でLabelを作成する数をcountの数によって変動させたい場合、
aspx側でどういう風に書けばいいのでしょうか?

下らない質問ですが
ググッてもよくわからなかったので教えてください
0096nobodyさん2007/08/19(日) 23:06:46ID:???
>>95
普通なら、動的コントロールで必要な分作成する。
簡単に済ますなら、とりあえず全てのラベルのVisibleを
aspxでfalseにしておいてTextに入れるついでにtrueにする。
0097nobodyさん2007/08/19(日) 23:40:54ID:fhtMy5hW
>>96
>普通なら、動的コントロールで必要な分作成する。
ありがとうございます
すいませんがいまいちよくわかりませんので具体的に教えてください
0098nobodyさん2007/08/19(日) 23:50:39ID:???
>>97
少しは自分で調べてみるといいと思います。
http://support.microsoft.com/kb/317794/ja

そもそも、ラベルの数を「0 or 100」なのか「0 or 1 or 2 ・・・・ or 100」
なのかよく分からんので、Visibleで好きなようにコントロールするのを
お薦めします。

0099nobodyさん2007/08/20(月) 00:07:03ID:???
カスタムコントロールのことかな
良く分からんが
0100nobodyさん2007/08/20(月) 00:34:10ID:???
カスタムコントロールは関係ないね。
aspx.csのコードでからlist.countの分だけ
aspのラベルコントロールを(aspxの方には一切コントロールを置かず)
動的に作成すればいいだけ。

list.countの最大数が決まってるのなら、
aspx側に最大数分作っといてVisibleでコントロールしろと
>>96は言ってるだけだから。
0101nobodyさん2007/08/20(月) 00:56:02ID:???
>>100で「関係ない」と書いてみたものの>>95を10回くらい読んで
カスタムコントロールの質問にも思えてきた。

良く分からんが
0102nobodyさん2007/08/20(月) 18:14:22ID:0m18HzF/
はじめてのASP.NETなのですが、練習用のテスト環境には、IIS(Windows XP pro)が必要でしょうか?
Apacheじゃだめですよね。。みなさん、どうしてますか?
0103nobodyさん2007/08/20(月) 18:26:19ID:???
>>102
VS2005(ASP.NET 2.0)ならIISは無くてもテストやデバッグは可能です。
http://www.microsoft.com/japan/msdn/vstudio/express/vwd/

一時的にサーバ環境が必要なら、
DOTNETレンタルサーバの無料サービスを利用すればOK
0104nobodyさん2007/08/20(月) 19:00:18ID:0m18HzF/
まさに探していたものです。ありがとうございました^^
0105nobodyさん2007/08/20(月) 21:55:38ID:???
>102
VisualStudio2005をインストール可能な環境はIISもインストール可能なはずなのですが。
0106nobodyさん2007/08/20(月) 22:00:59ID:???
XP Home
0107nobodyさん2007/08/20(月) 22:37:58ID:???
>>105どこの情報だそれはw
0108nobodyさん2007/08/20(月) 22:43:21ID:???
>106
Homeなんかすっかり忘れてたよ。
0109nobodyさん2007/08/23(木) 12:03:42ID:???
ASP.NET 2.0のGridViewで質問です。
ページング(AllowPaging="True" PageSize="10")を利用しているのですが、
件数が10件に満たない場合でもPagerを出力する事は可能でしょうか?


0110nobodyさん2007/08/25(土) 20:00:12ID:???
ホントここ人居ないな。

>>109
できるよ
01111092007/08/30(木) 02:19:16ID:NTnTtLAt
>>110
その後も色々調べてみたのですが、
同じ事で悩んでいた方の質問で無理だったらしいのです。
http://vsug.jp/tabid/63/forumid/72/postid/3405/view/topic/Default.aspx

よろしければ、やり方を教えていただけ無いでしょうか。
0112nobodyさん2007/08/30(木) 18:32:05ID:???
>>111
俺もデザイン的に必要だったから、擬似的に表示するようにした
0113nobodyさん2007/08/30(木) 20:32:17ID:???
VisualStadio2003での質問です。
テキストエリアへのHTMLタグの入力を禁止するために、
RegularExpressionValidatorを使って入力チェックを行おうとしています。

正規表現で指定した禁止文字を入力しフォーカスを外すと、
エラーメッセージを表示してくれるのですが、
サブミットボタンを押してもサブミットが発生してくれません。

ボタンでのサブミットを発生させるにはどのようにすればよろしいでしょうか?
アドバイスお願いいたします。
0114nobodyさん2007/08/31(金) 00:34:36ID:???
DBにメールを保存しています。やりたいことはメーリングリストのWeb
アーカイブ等でよく見かけるメールのやりとりを階層表示するには
どのようにすれば良いのでしょうか?表示は件名、受信日、Fromのみ
とし、任意の件名をクリックすると、別ページでTo、Cc、件名、本文
が表示されるのをイメージしています。よろしくお願いいたします。
言語VB.NET、.NET Framework2.0です。
0115nobodyさん2007/08/31(金) 00:34:37ID:???
>>111
無理じゃないし、擬似的にでなくても出来るよ。
GridViewのPreRenderでsender.BottomPagerRow.Visible = True

GridViewのRowDataBoundで1ページに収まる場合、
BottomPagerRow.VisibleがFalseにされるんでそれより後に動く
イベントでBottomPagerRow.VisibleをTrueすれば表示される。

まぁ、イベントの順番とかどう言う処理してるかとか意識した方がいいと思う。
0116nobodyさん2007/08/31(金) 02:09:46ID:???
>>113
エラーなのにポストバックさせたいのか?
よく分からんが↓辺りかな。2003で試せる環境無いから適当だけど。
http://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>の
繰り返し処理する必要があるかな。
0117nobodyさん2007/08/31(金) 10:08:42ID:???
>>116
返信ありがとうございます。
仕事中なので携帯から失礼します。
自分の書き方が悪かったです。
入力エラーの時にサブミット出来ないのは良いのですが、
正常値を入力した場合もサブミットが出来ず困っています。
申し訳ありませんが、よろしくお願いします。
0118nobodyさん2007/08/31(金) 12:03:39ID:???
>>117
asp.netのコントロール(ボタン、テキスト、RegularExpressionValidator)の組み合わせなら、
普通であれば出来るはずなので別な要因が影響してる気がするが。
http://ja.gotdotnet.com/quickstart/aspplus/samples/webforms/ctrlref/webctrl/regexvalidator/doc_regexval.aspx

Javascriptでボタンをdisableにしてるとか、
asp.netのコントロールではなくてHTMLのタグで書いてるとか。
イベント関係はいろいろな側面が影響するので、簡単なソースを
作って調査した方がいいよ。
01191132007/08/31(金) 12:06:22ID:???
>>116
jsを追った所、スクリプトライブラリのバグで、
.netFreamworkをASPに再インストールしたら正常に動く様になりました。
お騒がせしました。
0120nobodyさん2007/08/31(金) 16:01:28ID:???
この度、ASP.NETを使い、Webアプリを作成することになりました。

しかし、いきなり問題が出て来ました・・・・。

WebアプリケーションをそのままOKを押し作成しようとすると
Webアクセス失敗と出て来てしまいます。

この場合、どのように対処したらよろしいでしょうか?
0121nobodyさん2007/08/31(金) 21:32:28ID:???
>>120
IIS動いてて権限ちゃんと持ってるか?
つーか入門書買え

>>114
保存してるのはそれだけ?
ヘッダとか保存してないの?
0122nobodyさん2007/09/01(土) 00:24:53ID:o4VEeCjw
>116
>ttp://lists.samba.org/archive/linux/2007-August/thread.html

はい、上記のようなイメージです。
階層化するためには他に必要なヘッダー情報をDBに追加する必要がありそうでうす。
In-Reply-ToやReferencesを調べることになりそうですが、どのように扱えば
よいのかの参考になるわかりやすいサイトご存知でしたら教えてください。
階層化しやすくるためのクラスやライブラリがあればなお助かります。
0123nobodyさん2007/09/01(土) 18:58:31ID:???
配列でツリー構造を作った事がないと見た
0124nobodyさん2007/09/01(土) 21:16:37ID:???
>123

それそれ。
わざわざコーディングしなくても再利用できるフリーのクラスとかDLLとかありませんか?
0125nobodyさん2007/09/01(土) 22:34:49ID:???
>>124
あきれてモノが言えん
0126nobodyさん2007/09/02(日) 00:51:34ID:???
>125
そこをなんとかよろしくお願いします!
0127nobodyさん2007/09/02(日) 01:08:55ID:???
いってるじゃねーかよ
あきれてモノも言えん
0128nobodyさん2007/09/03(月) 20:32:29ID:???
もうちょっとマシな釣りはできんのか
↓はい次どうぞ
0129nobodyさん2007/09/08(土) 22:51:29ID:XwRWsE9u
ASP.NETでサイトをプリコンパイルするときに仮想ディレクトリを指定しますが
これが実際のサイトと違う場合はどうなるのでしょうか
更新可能なサイトとしてコンパイルしても更新されなくなるだけ?

@IT:ASP.NET 2.0が変えるWebアプリ開発の世界 第1回 周辺技術が支えるASP.NET 2.0の進化
http://www.atmarkit.co.jp/fdotnet/asp2review/asp2review01/asp2review01_03.html

>仮想ディレクトリ名を変更してしまうと、アプリケーション自体が正常に動作しなくなってしまう。
普通に動いてしまっているようなのですが、このあたりの詳細な記述があるサイトはないでしょうか?

インストーラの実行時に仮想ディレクトリの名前を確定したく簡単な方法を探しています。
0130nobodyさん2007/09/10(月) 21:02:18ID:slz4gROC
環境ASP.NET2.0、VB.NET、SQL Server 2003です。
select count(*) from table の結果を、ラベルに出力したいのですが
サンプルありませんか?できれば .aspx.vb 側でコードを書くのでなく
.aspx側(ただし、<script></script>の中は不可)で出力するコードを書きたい。
書く方法があるのか、そういう方法ではNGなのかよくわかりません。
サンプルのアクセス先でもよいので教えてください。
よろしくお願いします。
0131nobodyさん2007/09/10(月) 21:42:17ID:???
>>130
インラインコードモデルで書きたいってこと?

http://www.microsoft.com/japan/msdn/asp.net/tips/codebehind/
0132nobodyさん2007/09/10(月) 21:52:18ID:???
>131
どうもインラインコードモデルじゃむりっぽいかもしれないので、コードビハインド可で質問
しなおします。
GridViewのサンプルはたくさんあるので書き方がわかるんですが
select count(*) from Tablexxx の結果をラベルに代入するサンプルが見つからない。
どなたかご存知でしたら教えて。
0133nobodyさん2007/09/10(月) 22:02:34ID:???
>>130
SQL Server 2003とは?
0134nobodyさん2007/09/10(月) 22:08:03ID:???
>133
すみません、SQL Server 2000 でした。
0135nobodyさん2007/09/10(月) 23:55:16ID:???
結果をラベルに代入とは?
0136nobodyさん2007/09/11(火) 01:49:13ID:???
Labelコントロールで表示したいんじゃね
0137nobodyさん2007/09/11(火) 13:42:38ID:???
GridViewで表示できるならLabelでもなんでも表示できるだろと。
どうせLabelにはデータソース指定がないからGridViewみたいにコーディングレスじゃ割り振れないってだけだろ。

普通にSQL発行して戻り値でSELECT結果返す関数作って
その戻り値をLabelに入れるなりなんなりすればいいだけ。

Label1.Text = GetSqlquery();

でいいだろ。
0138nobodyさん2007/09/11(火) 20:34:07ID:jV5pYbSS
>137
サンキュー!
そうでした、単純にクエリーの実行結果を得る方法さえわかれば
どうってことないことでした。
0139nobodyさん2007/09/12(水) 16:40:18ID:???
[IIS-5.0][Framework 1.1][VB.Net2003]
でwebアプリケーションを開発しています

現在、モバイルWebアプリケーションを作成しているのですが
状態管理のセッションキーがURLに埋め込まれますが
このセッションキーの埋め込み位置を変更することは
できないでしょうか?

例:
http://www.○○○.com/mobile/(セッションID)/index.aspx

http://www.○○○.com/mobile/index.aspx?session=セッションID
という感じにできませんか?

おわかりの方がおられればぜひご教示ください。
0140nobodyさん2007/09/12(水) 23:00:57ID:???
ASP.NET2.0、Ajax Extensionsを使用しています。
Panelの中にUpdatepanel、Updatepanelの中で<div> </div>で囲んだ
Gridviewコントロールを配置しています。Gridviewで表示した表は
一定間隔で自動更新表示(タイマー使用)しています。
ブラウザ側のスクロールバー位置はMaintainScrollPositionOnPostback="true"
により同じ位置を保持可能ですが、ヘッダー固定したGridView側のスクロール
バー位置が上に戻ってしまいます。内部のスクロールバー位置ももとの位置を
保持させるにはどのようなコードを追加すればよいのでしょうか。
ご存知の方、おしえてください。
0141nobodyさん2007/09/12(水) 23:52:58ID:???
>>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
0142nobodyさん2007/09/13(木) 23:05:53ID:f7p5yovk
Visual Studio 2005でASP.NET使ってWebアプリ作る時って、
Webサイトプロジェクトと、Webアプリケーションプロジェクトの
どっちで作るほうがいいの?入門書見たらWebサイトプロジェクトで
説明してるものばかりだけど…
0143nobodyさん2007/09/14(金) 01:00:26ID:???
>141

ありがとう。
divの(javascriptの)
<div onscroll=..... てところが書けない。
onscrollという属性が予約語でないのか、エラーになります。
どのようにすればよいのでしょうか?
0144nobodyさん2007/09/14(金) 02:35:05ID:CiMbiaO2
ASP.NETのBinフォルダに.NETアセンブリ以外を入れたら何か問題ありますでしょうか?
Cで作成したネイティブのDLLを参照する必要があり、それを入れたいです。
他にもBinにログファイルを作成する.NETアセンブリもあったりするのですが問題ありますでしょうか?

(ASP.NETアプリからはそのCのDLLのラッパを呼び出している。ラッパはBinフォルダの中にある。)
サイト
 Bin
  native.dll
  wrapper.dll


0145nobodyさん2007/09/14(金) 02:52:17ID:???
>Binにログファイルを作成する
そいつはまずい。
まじで。
0146nobodyさん2007/09/14(金) 10:10:05ID:???
>>143
それ、XHTMLに準拠しているかの検証エラーなだけなので
気にしないで進めろ。

XHTMLに準拠が気になるなら、

・Javascriptでdivのイベントに処理を割り付ける
 document.getElementById(???).onscroll = function ・・・
・divにrunat="server"(Panelコントロールでもいい)を付けて
 ASP.NETコントロールにしてAttributes("onscroll")でJavaScript
 を文字列で書き込む。

好きな方でやればVSのデザイン時にXHTML検証でエラーは出ない。
0147nobodyさん2007/09/14(金) 22:48:45ID:???
>146
んーー、非常に勉強になりました。
アドバイスの通り試行錯誤してみます。
重ね重ね本当にありがとうございました!!
0148nobodyさん2007/09/14(金) 23:43:51ID:???
>>147
スクロールバーを表示している<div>をUpdatePanelのすぐ外に
置いてスクロールの内部を非同期通信させる方法で対応できる
ならそれが簡単かも。

UpdateProgressを使ってたり、ポストバックの更新時、UpdatePanelの入れ子とかで
内部表示の幅がが一時的に小さくなったり、divが再描画されたりすれば
スクロール位置は戻るので現在の処理が絡むので分からんけど。
まぁ、>>141の内容と組合せるとかすれば出来ない事は無いだろうけど。

0149nobodyさん2007/09/17(月) 03:52:15ID:???
<script>タグの中で<%= =>がマークアップされないのって、何とかならないのかな
一瞬動かないものなのかと思ってしまいました。 まさかMS非推奨、とかじゃないですよね?
0150nobodyさん2007/09/17(月) 08:48:12ID:???
>>149
><%= =>

・・・え?
0151nobodyさん2007/09/17(月) 09:30:35ID:???
>>149
<%= =>って<% %> レンダリング ブロックのことか?
普通に<script type="text/javascript">alert('<%="aaa" %>');</script>で出力されるが。
よくわからん。
0152nobodyさん2007/09/17(月) 15:27:31ID:???
VS上で強調表示されないってことです。細かくてすいません。。
0153nobodyさん2007/09/24(月) 16:52:06ID:???
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 で得られていました。
同じようなプロパティはあるのでしょうか?
0154nobodyさん2007/09/24(月) 22:53:03ID:???
>>153
そのreturnのObjectを素直にOracleDataReaderに
してるのならGetNameで。
DataAdapterで変換してるのなら変換後の型の
メンバをMSDNで調べてください。
0155nobodyさん2007/09/25(火) 16:35:24ID:???
ASPの質問というよりwebサービスに対する質問なんですが.
VS2005でクライアントの「WindowsFormアプリ」と「Asp.NETWebサービス」を(ともにC#)
共存させるソリューションを作っているのですが,

クライアントの参照設定->右クリック->Web参照の追加
で「Asp.NETWebサービス」を追加したのですが,
[WebMethod]で指定した関数を呼び出すことができません.
WebServiceのクラスがMySeriviceの場合

MyService ms = new MyService();
はエラーを吐かずに実行できるのに.
string str = ms.HelloWorld();
は次のエラーと警告を出します.
・無効なトークン '(' が クラス、構造体またはインターフェイスのメンバ宣言で使用されています。
・WebServiceBindingAttribute が プロキシ クラスで必要です。

WebServiceBindingAttribute をどのように作成すればいいでしょうか
0156nobodyさん2007/09/25(火) 18:01:48ID:???
>>155
単なるコンパイルエラーだと思うけど。
HelloWorldの中身の"("付近を見直してみれば。
01571552007/09/25(火) 18:24:50ID:???
>>156 さん 反応どうもです

    [WebMethod]
    public string HelloWorld()
    {
        return "Hello World";
    }

これがWebMethodのコピペです,
間違ってはないと思うのですが

MyServiceを参照する際,
MyS まで入力して「Ctrl+Space」を押すと候補一覧に「MyService」が表示されるのですが.

MyService ms = new MyService();
をした後
m まで入力して候補を探しても 「ms」 は見つかりませんでした.
もちろん ms まで入力して「.」を押してもメソッド一覧が表示されませ.

しかしオブジェクトブラウザでMyServiceを見たらHelloWorldメソッドが登録されているので,
なんだかもうわからない状態です...
0158nobodyさん2007/09/25(火) 20:54:14ID:???
http://localhost/MyService/Service1.asmx の場合
localhost.MyService ms = new localhost.MyService(); のように指定した気が
01591532007/09/25(火) 21:00:40ID:???
>>154
サンクスです。
GetNameで取れました。
01601552007/09/25(火) 21:24:54ID:???
>>158 さん はんのうありがとうです.

usingを指定して,すでに名前空間は解決しているつもりでした.

名前空間と言えば
[WebService(Namespace = "http://kaigen.org/";)]
WebServiceで記述されているこれは使用するのでしょうか?
01611552007/09/26(水) 03:15:18ID:???
自己解決?しました

WebServiceクラスを呼び出しているところを
普通のクラスファイルじゃなくて,
Windowsフォームテンプレートを用いで作成したクラスからなら
呼び出せることがわかりました.

原因は不明ですが,とりあえずこれで動くので,
これで作成しようと思います.
0162nobodyさん2007/09/26(水) 15:32:27ID:???
継承しているクラスくらい見ろよな
0163nobodyさん2007/09/26(水) 21:02:25ID:yYWQHXI+
次のようなイメージでTreeViewのノードを動的に追加できるASP.NET2.0 Webアプリを
作成したいと思っています(使用言語C#)。

  ブラウザの左側にTreeviewを表示(例menu.aspx)し、上位ノードを右クリック
  して「新規作成」をクリックすると、新たなノードを作成するために必要な
  パラメタの入力を促すウィザードまたは入力可能なダイアログを表示する。
  新たなノードを作成する際にパラメタとして、ノード名、DB名、Table名程度を
  入力し(それ以外はシステムで決まっている値とする)、サブノードが出来上がる
  というかんじです。右側はGridViewでDBのテーブルを表示します。

左側(menu.aspx)をどうすればよいか悩んでいます。
参考になるサイトがあれば教えてください。またご存知であればご教授ください。
よろしくお願いします。
0164nobodyさん2007/09/26(水) 22:57:49ID:???
>>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

0165nobodyさん2007/09/26(水) 23:27:43ID:???
>164
うわっ!スゴイ!!十分に参考になります。
codeproject.comは知っていましたが、辿り着けなかった・・・。
商用のものはすごいですね。資金がないため購入はできませんが
とても参考になります。本当にありがとうございました。
0166nobodyさん2007/09/27(木) 05:38:58ID:7u8fuvQl
テキストボックス内でキーボードのEnterを押したら、ボタンが押下されたようにしたいです。

テキストボックスのonkeypressでEnterを捕捉し、ボタンが押下されたときのサーバ側のイベントを呼ぶように
クライアントスクリプトを書こうと思ったのですが、よく分かりません。

- サーバ側のイベント
void btnExecute(object sender, EventArgs e){
  //proc
}
- テキストボックスでEnerキーが押されたときにコントロールを指定してポストバックする
<asp:TextBox 。。。 onkeypress="if(エンターキーが押された)__doPostBack('btnExecute');"></asp:TextBox>

のようにすればいいのかな。と思ったのですがうまくいきませんでした。
クライアントコールバックではなく、単純にボタンを押されたときと同じにしたいのですが
どのようにすればよいのでしょうか?
0167nobodyさん2007/09/27(木) 10:41:16ID:???
>>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="ここ"だけに入力したいとか言われそうだが
それも可能なので調べてみてください。
01681662007/09/27(木) 22:07:24ID:7u8fuvQl
詳細な説明ありがとうございます。
ClientID=エレメントのIDなページ構成なので
asp:TextBoxに
onkeypress="if(エンターキーが押された) document.getElementById(''btnExecute').click();"
で対応できました。


サーバ側でプログラムでJavaScriptを書くのってTry&Errorし辛くて不便ですよね
スクリプト内部もタイプセーフ(JavaScriptセーフ?)に書ければいいのに。と思った。
0169nobodyさん2007/10/02(火) 00:54:30ID:???
ASP.net2.0+AJAX.net2.0+C#で開発しています。
TreeViewについて質問させてください。

[質問内容]
UpdatePanel内にTreeViewを配置した時にTreeViewのPopulateイベント
で同一UpdatePanel内の別のコントロールに値をセットできません。
ViewStateも利用できない状態です。

他に、Populateイベントを有効にするとTreeNode以外のボタン押下時
イベントも同時に動いてしまうのも悩みです。

どなたか同じような問題を解決した方がいましたらご教示ください。

宜しくおねがいいたします。
0170nobodyさん2007/10/02(火) 20:58:52ID:???
>>169
同一UpdatePanel内のPopulateイベントで
Me.TextBox1.Text = e.Node.Text
で試してみたがセットできるんだが。

まぁ、そもそも
ttp://cs.gogo-asp.net/blogs/naoki/archive/2007/01/24/UpdatePanel-_B330F330C830ED30FC30EB300A4E67302952287567304D306A304430B330F330C830ED30FC30EB30_.aspx
と言うように正確な情報も無ければ、解決には様々な要因が絡むパターンなので
関連する部分のソースでも無い限り答えるのは無理だけどね。
リンク先の対応策をよく理解してから自分で調べるといいと思います。
0171nobodyさん2007/10/02(火) 23:20:01ID:???
>>170
ありがとうございます。

単純な事でしたが、EnableClientScriptがtrueになっている事が原因でした。

EnableClientScriptをfalseにする事でコントロールに値をセットする事や
ViewStateに値をセットする事ができました。

今回はPopulateイベントで別のコントロールに値をセットするという仕様
でしたが、一度展開したノードではPopulateイベントが発生しなく
なるため、2度目以降のノード選択時に別のコントロールに値をセット
できなくなってしまったので、Expandedイベントを利用しました。

PopulateイベントからノードのPopulateOnDemandプロパティにtrueを
設定しても一度展開された扱いになってしまい現象変わらず。
(該当ノードを削除して再度同じノードを作成すればいいかも知れま
せんが次にコードを見た人がつら過ぎるコードになるので実装せず)
0172nobodyさん2007/10/04(木) 14:17:51ID:HVPnYgkb
PHPしかやったことないのですがASPをやろうと思ってます
PHPユーザにお勧めの言語があれば教えてください


UNIXが優位だったからPHPをはじめたのにいつのまにかWINDOWSに抜かれてるなんてorz
0173nobodyさん2007/10/04(木) 17:55:01ID:???
PHPしかやったことが無い とか関係あるか分からないけど
ASP.NETなら C#とJavaScriptやっとけばいいんじゃない?
0174nobodyさん2007/10/04(木) 22:00:36ID:???
C#が解説とサンプル多くていいと思うよ。
VB.NETも同じくらい多いけど、言語的にはC#のほうがPHPに近い。
0175nobodyさん2007/10/05(金) 05:43:34ID:???
PHP ≒ Java ≒ C♯

VB糞
01761722007/10/05(金) 15:38:56ID:???
レスおそくなってすみません

>>173-175
レスどうもありがとうございます
C#のほうが近いとのことなのでC#でいきたいと思います
帰ったら開発環境とIISインストールして早速遊ぼうと思います
0177nobodyさん2007/10/06(土) 03:15:56ID:???
パラメータソースとしてWebUserControlのプロパティを使いたいんだけど
バインド画面のリストに表示するようにするには、どうしたらいい?
属性?それともインターフェイス?
0178nobodyさん2007/10/06(土) 11:40:13ID:???
>>177
質問の意図が「プロパティを使いたい」のか「リストに表示したい」のか
分からんけどControlParameterのPropertyNameで選択したリストに
表示されなくても直接UserControlで作成したプロパティ名を入力すれば
使えたはず。

リストに表示したいと言うのも出来たはず。
おれは動的にControlParameterを発生させるので、ど忘れして思い出せない。

って、事でこのスレの詳しい人に任せます。
01791772007/10/06(土) 22:11:06ID:???
>178
thxです。コレ手書きOKなのね。
さらにリストから選択できれば言うことないので、誰かヒントお願いします。

ちなみに Control にしたとき、下記のようにコントロール名が2行づつ表示されるのは常識なんですか?

GridView1
GridView1
0180nobodyさん2007/10/06(土) 23:14:35ID:???
WebUserControlのイベントってデザイナで指定できないのですか?
0181nobodyさん2007/10/07(日) 00:39:00ID:???
だれかエスパーを
0182nobodyさん2007/10/07(日) 02:05:08ID:???
>>180
プロパティウィンドウの使い方が分かってないんじぇね?
プロパティウィンドウ最上部の雷マークで切り替えてイベント追加できるから
0183nobodyさん2007/10/07(日) 23:25:26ID:???
WebUserControl使ったことあるやつなら >>180 が言ってることわかるだろ。
ちなみにC#な。
■ このスレッドは過去ログ倉庫に格納されています