[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 04/04 22:38 / Filesize : 244 KB / Number-of Response : 668
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



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/

2 名前:nobodyさん [2007/07/17(火) 23:50:28 ID:pyJr9yIy]
ASP.NET Developer Center
www.microsoft.com/japan/msdn/asp.net/
MSDN
www.microsoft.com/japan/msdn/

Visual Studio 2005 Express Edition
www.microsoft.com/japan/msdn/vstudio/express/
ASP.NET Web Matrix Project
www.microsoft.com/japan/msdn/asp.net/webmatrix/

Microsoft ASP.NET クイック スタート チュートリアル
ja.gotdotnet.com/quickstart/aspplus/default.aspx

3 名前:nobodyさん mailto:sage [2007/07/18(水) 00:29:51 ID:???]
>>1-2
A乙P.NET

4 名前:nobodyさん mailto:sage [2007/07/18(水) 01:17:05 ID:???]
>997 名前: nobodyさん [sage] 投稿日: 2007/07/17(火) 22:48:26 ID:???
>>エラーチェックって皆サーバでやるんすか?
>普通はそうするわな
>
>例えるなら、東口、西口、正面口に入り口がある空港で正面でしか持ち物検査しなかったら、
>幾ら口すっぱく正面口から入れと言い聞かせても東口、西口使う馬鹿が居る。
>だから飛行機に搭乗するには絶対通らなければならない場所で持ち物検査するのと同じ。
>
>>ユーザーがノートPC+Winカードで利用するので
>>クライアントで出来ることはクライアントに任せたいと考えています。
>意味不明。回線が細くて、処理速度が遅いって言うのが理由なら
>なおさら、サーバー側で処理してあげるべきだと思うが。
>998 名前: nobodyさん 投稿日: 2007/07/17(火) 23:47:57 ID:pyJr9yIy
>サーバ側でチェックしてNGだった場合
>再描画されちゃわないんすか?

前スレの最後の質問の件なのですが、サーバで入力値のチェックをやるのが一般的なのはわかりました。
入力値チェックでひっかかった場合、メッセージボックスなどでユーザーに通知しますが
その後再描画処理が走らないのでしょうか?
Page_Loadイベントなりでメッセージボックスを表示して、そのまま処理を中断し
再描画を止めることは出来るのでしょうか?

ページのサイズが大きい場合、クライアントでチェックすれば
再描画はしないので良いのでは?と思っていました。

5 名前:nobodyさん mailto:sage [2007/07/18(水) 01:27:49 ID:???]
だからその辺を効率よくやりたいときはクライアント「でも」チェックしたりする。


6 名前:nobodyさん mailto:sage [2007/07/18(水) 03:41:17 ID:???]
You、Validator使っちゃいなYO
Response.Writeがどうとかチェック用JavaScriptがどうとか言ってるけど
ASP.NETならペタペタコントロールはりつけてやるのが楽なんじゃないの?

7 名前:nobodyさん mailto:sage [2007/07/18(水) 09:23:25 ID:???]
>>4
この手の質問する奴って大抵「クライアントの為に」って
言葉使うんだけど実際には「自分の為に」なんだよな。

エラーチェックに関しても、クライアント側とサーバ側両方で
対応しとけば「クライアントの利便性とデータの正確性」両方
とも網羅できるのに。

8 名前:nobodyさん mailto:sage [2007/07/18(水) 11:03:13 ID:???]
入力エラーの度に再描画なんてされたらむかつかない?

9 名前:nobodyさん mailto:sage [2007/07/18(水) 12:03:56 ID:???]
このサイトを参考にカレンダーコントロールを英語化したのですが
< > ← このリンクにマウスを合わせたときに「前月に移動」「来月に移動」という
ツールチップが表示されます。
各日付のツールチップは英語化できたのですが、「前月に移動」「来月に移動」を英語にすることは可能でしょうか?
forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=324245&SiteID=7

10 名前:nobodyさん mailto:sage [2007/07/18(水) 17:27:48 ID:???]
別プロジェクトにあるカスタムコントロールを使用することは不可能でしょうか?
共通オブジェクトのみを集めたプロジェクトを作成し、画面とかカスタムコントロールとかクラスとか
いろんなプロジェクトで使えるようにしたのですが、何故かカスタムコントロールだけ別プロジェクトから利用できません。

「仮想パス '*/test/test1.ascx' がほかのアプリケーションに割り当てられていますが、これは許可されていません。」

というエラーが発生してしまいます。
プロジェクトをまたがるカスタムコントロールの使用は出来ないのでしょうか?

共通部品化出来れば便利なんだけど、そういう考えは普通じゃないのかな・・



11 名前:nobodyさん mailto:sage [2007/07/18(水) 22:04:51 ID:???]
>別プロジェクトにあるカスタムコントロールを使用することは不可能でしょうか?
残念ながら不可能だと思われます。
「共通で利用する部品を作りたい」という目的は
カスタムサーバーコントロールを開発することで達成できますが,
ほんのちょっぴり敷居は高くなります。

お互いがんばりましょう。

>共通部品化出来れば便利なんだけど、そういう考えは普通じゃないのかな・・
普通です。ただしUIが関係する部品はビジネスロジック層以降の共通化に比べるとメリットが小さいと思います。

12 名前:前スレ986 mailto:sage [2007/07/19(木) 11:40:25 ID:???]
前スレ>>993
教えていただいたことを参考に、ヤフーの wsdl ファイルの中身の属性などを
いろいろ変更してみたりしたんですが、wsdl.exe だとどうしてもちゃんとした
プロキシクラスが生成されませんでした。

wsdl ファイルの最後に gsoap とあったのでそれを試してみたところ、
単数でしか受け取れなかったものを、しっかり複数で受け取れるような
クラスを生成してくれたので、こちらを使ってみることにします。
どうもありがとうございました。

SOAP を使うと互換性を気にせずに簡単に組めるかと思ったんですが、
そうでもなかったみたいですね><

13 名前:nobodyさん [2007/07/19(木) 22:07:16 ID:t+6ymqWH]
aspxにRequestで受け取った値を出力したいのですが可能でしょうか?
例えば、AタグのHREFにURLを指定しますが、そこのパラメータにRequestで受け取った値をセットしたいのです。
Aタグをサーバコントロールにして、csでセットするというのは出来るのですが、aspxで出来たら手っ取り早いので。。

例)
<a href="top.aspx?id=<% Response.Write(Request["id"]); %>">Top</a>

14 名前:nobodyさん [2007/07/20(金) 17:13:03 ID:dtQ5f3a5]
HttpSessionStateって勝手にWeb.configのsessionStateタグを読みますが
Web.configじゃなくて他のファイルを読ませたい場合はどうしたら良いでしょうか?
Web.configってプロジェクト単位で出来ちゃうから、色んなプロジェクトで共通につかっているファイルを読ませたいんです。

15 名前:nobodyさん mailto:sage [2007/07/20(金) 22:09:50 ID:???]
>>14
構成ファイルの階層と継承の仕組みを考えると,
システム共通の設定はmachine.configで定義するだけで良いし
関連アプリケーション共通の設定ならフォルダ構成をきちんと管理すれば良い。

16 名前:nobodyさん [2007/07/21(土) 10:43:46 ID:u6ArajqG]
>>13
<%= Request

17 名前:nobodyさん mailto:sage [2007/07/21(土) 10:45:50 ID:???]
>>9
可能
なんもかんでもとりあえず聞かずに
実現方法を少しは自分で考えてね。

18 名前:nobodyさん mailto:sage [2007/07/21(土) 10:48:50 ID:???]
>>8
意味不明
「クライアント側でも」の意味が分かってないのか?
とりあえずWEBの基本でも勉強した方がいいよ。

19 名前:nobodyさん [2007/07/21(土) 16:36:49 ID:LDWi9U5y]
ASP.NET2.0で SessionのTimeout時点で処理を行うようにしたいです。
SessionモードはStateServerを使用しています。

すべてのセッションがタイムアウトしているかどうかを監視するサービスを作る必要があるのか
と思ったのですが
簡単に実現する方法はありますでしょうか?

アプリケーション上ですべてのセッションの状態を見ることはどのようにすればできるでしょうか?
HttpApplicationからは自分のセッションしか見れないように見えました。


20 名前:nobodyさん [2007/07/22(日) 00:52:26 ID:zWRToYk9]
VB8ってVS2005で開発するVB.NETのこと?



21 名前:nobodyさん mailto:sage [2007/07/22(日) 09:42:13 ID:???]
VisualBasic(VisualStudio).NET(2002)= 7
VisualBasic(VisualStudio).NET 2003 = 7.1
VisualBasic(VisualStudio).NET 2005 = 8
VisualBasic(VisualStudio).NET 2008 = 9

わからなかったら検索する癖つけような。
WikiPediaに載ってた。

22 名前:nobodyさん mailto:sage [2007/07/22(日) 12:41:22 ID:???]
よくグリッドのヘッダがクリックできるようになってて
クリックすることでそのヘッダでソート出来るというものがありますが
これてクリックしたイベントでSQL発行してソートさせてるんでしょうか?
それともDataTableのメソッドでソート処理が出来るのでしょうか?

23 名前:nobodyさん mailto:sage [2007/07/22(日) 15:06:21 ID:???]
GridViewのソートを自作するのなら
DataTable(DataView)を並び替えようが
SQL発行しようが好きなようにやればよい。

24 名前:nobodyさん mailto:sage [2007/07/22(日) 21:07:17 ID:???]
>>19
そもそも、ASP.NETに関わらず自分のセッション情報以外に
アクセスできるのはセキュリティ的に問題があるので
実装されている方が珍しいと思います。

とりあえず、「すべてのセッションがタイムアウトしているか」なら
SessionモードはStateServerでも確かApplication_OnEndが動いたはず。
コレで代用できるのなら利用してみたら。

あとは、
「すべてのセッションがタイムアウトしているかどうかを監視するサービス」
と言うのをどう言う風に想定してるのか分からんが、
セッション情報をDBにでも書き出しておいて作れば良い。

ASP.NET パフォーマンス カウンタでアクティブなユーザー セッション数が
取得できているから、外部から取得する方法もあるかも知れんが。
technet2.microsoft.com/WindowsServer/ja/Library/58de2498-d7d7-4557-ae2f-e6435aac344b1041.mspx?mfr=true

25 名前:nobodyさん mailto:sage [2007/07/22(日) 22:12:21 ID:???]
つい最近までレガシーASPしかやってなかったが、
.NETを使わないとそろそろ…と思いいじりはじめたところ
初歩的なWEBフォームを.NETで作ろうとして悩み中。

レガシーASPでは、
入力画面(html)→入力値のチェック&確認画面の表示(ASP)→DBへ入力値の登録&確認メール送信&登録完了画面の表示(ASP)
という感じでチマチマやってたのを
ASP.NETじゃどうやりゃいいんでしょか?

ググってみたものの、案外そういうもののサンプルが見つかりません。
もっと高度そうなスケジューラとか在庫管理とかならあるんですが、
なにか手がかりあれば、教えていただけると助かります。

26 名前:nobodyさん mailto:sage [2007/07/22(日) 22:54:06 ID:???]
>392
ググって見つからないなら本屋行け。
仮にもASP経験してこの程度のことで人の手借りるのは手抜きにも程がある。

27 名前:nobodyさん mailto:sage [2007/07/22(日) 22:55:18 ID:???]
↑、>25だ

28 名前:nobodyさん mailto:sage [2007/07/22(日) 23:27:09 ID:???]
Eval()とDataBinder.Eval()の違いがいまいち分からないのですが。
それぞれの使いどころを教えていただけないでしょうか?

29 名前:nobodyさん mailto:sage [2007/07/22(日) 23:32:46 ID:???]
>>25
ASP.NETの特性

コントロールの状態(値とか状態とか)を再描画のたびに復元する必要が無い(ViewStateが自動的に行ってくれる)
イベントトリブンで記述が可能(イベントを認識するためのJavascriptを自動的に記述してくれる)
ポストバックが基本(データをポストする先は常にそのページ自身)
コントロールが必要とする基本的なJavascriptは自動的に作成

他にも色々あるが省略
で、これを上を意識できないと結局レガシーASPと同じになるので
やり方は色々あると思うが簡単に説明。

aspxファイルにViewStateを活用するために「Panel」コントロールあたりを3つ作成し、
それぞれのPanelに「入力画面(ボタンやTextBoxのnput系のHTMLタグをASPコントロールで)」、
「確認画面(Labelコントロールあたり)」、「登録完了画面」を作成
あとはasp.netボタンのclickイベントで処理+それぞれのPanelのVisibleを制御
(デザインのボタンコントロールをダブルクリックすればVBの様にイベント書く所へ飛ぶ)
エラーチェックは検証コントロールかJavascript・clickイベント内で行う。

まぁ、本とか>>2のMicrosoft ASP.NET クイック スタート チュートリアルで
サーバコントロールとかViewStateとかの裏側の動き(レガシーASPの動作に置き換えて)
理解する事をお薦めします。

30 名前:nobodyさん mailto:sage [2007/07/22(日) 23:54:09 ID:???]
>>29
ご丁寧な解説どうもありがとうございます。
教えていただいた内容をふまえてがんばります。

ここ1週間ほど本屋を5〜6軒まわりASP.NET初心者向けを3冊ほどは買ったのですが
GridViewやFormViewを使った割と高度なシステムの例はあっても
案外こういう低レベルに見えた受付フォームみたいなものの例がなく、
悩んでおりました。



31 名前:nobodyさん mailto:sage [2007/07/22(日) 23:55:11 ID:???]
レガシーASPはどういう意味ですか?
普通のASPと違うの?

32 名前:nobodyさん mailto:sage [2007/07/23(月) 00:05:24 ID:???]
>>28
DataBinder.Eval(Container.DataItem, "aaa"と
Eval("aaa")の違いって事か?
上記の事なら詳しく説明するの面倒なので簡単に言えば「同じもの」

>>31
legacyの辞書的な意味は『遺産、遺物』。
コンピュータの世界では古い技術であるが現在まで残っている技術

33 名前:19 mailto:sage [2007/07/23(月) 00:05:44 ID:???]
>>24
レスありがとうございます。

セッションがタイムアウトしたら、連携するシステムに対して
ユーザがいなくなったことを通知しなければいけないので
DB使わずにASP.NET組み込みのイベントなどで簡単にできないのかな?と思いました。

「すべてのセッションを監視して、タイムアウトしたセッションに対して処理を実行したい」が正しい記述でした。
申し訳ないです。

素直にDBに格納する方が楽なようです。
サンプル セッション状態ストア プロバイダ
msdn2.microsoft.com/ja-jp/library/ms178588(VS.80).aspx
とか参考にして何とかなりそうです。

> 「すべてのセッションがタイムアウトしているかどうかを監視するサービス」
> と言うのをどう言う風に想定してるのか分からんが、

同一アセンブリ内で監視サービスでセッションを監視しようとしていましたが
AppDomainのアンロードと共に監視対象がリセットされてしまうため、うまくないなぁと。。
アプリケーション状態の保存にもちょっとだけSessionServer使わせてよ。と思ったけど、
現在のHttpContextを元にSessionStateの実装が想定されているので無理でした。


34 名前:nobodyさん [2007/07/23(月) 06:47:10 ID:srWGE4oQ]
SqlDataSourceよりObjectDataSourceのほうが機能がよさげなんですが
SqlDataSourceを使うメリットはあるんでしょうか?

35 名前:nobodyさん mailto:sage [2007/07/23(月) 14:26:55 ID:???]
>>34
SqlDataSourceをGridViewに使えば、
単一のテーブルであれば「ソート」「ページング」「更新」「削除」を
自動的に作成してくれます。

まぁ、ObjectDataSourceとかDataSourceへDataTableとかじゃないと
複雑なロジックには耐えきれないとは思うが。

36 名前:nobodyさん mailto:sage [2007/07/23(月) 15:38:43 ID:???]
マウスカーソルを砂時計にするC#での記述はどのようにすれば良いでしょうか?
JavaScriptでは可能なのですが、C#で書きたいのでよろしくお願いします。

37 名前:nobodyさん mailto:sage [2007/07/23(月) 21:38:10 ID:???]
C#でJavaScriptを書く

38 名前:nobodyさん mailto:sage [2007/07/23(月) 21:46:09 ID:???]
MsgBoxの代用ってJavaScriptかVBScriptしかないんでしょうか?
でも、どこみてもJavaScriptしか書かれてないんですけど、
VBScriptだと相性が悪いんでしょうか?
教えてください

39 名前:nobodyさん mailto:sage [2007/07/23(月) 22:14:54 ID:???]
VBScriptはInternetExplorerでしか動作しないから

40 名前:nobodyさん mailto:sage [2007/07/23(月) 22:28:49 ID:???]
DataSetとDataTableはどう使い分けていますか?
DataSetはあまり使う機会が無いのですが。
DataTableはGridViewのDataSourceにぶち込むためによく利用しますが。



41 名前:nobodyさん [2007/07/23(月) 23:16:28 ID:yAPedHBa]
>>40
msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpguide/html/cpconTheADONETDataSet.asp

42 名前:nobodyさん [2007/07/25(水) 12:46:29 ID:SGx7LnS+]
サーバコントロールのボタンのイベントのonclientclickイベントで
AllDisabled()という全てのコントロールを無効化し、onserverclickイベントで処理をしたいのですが、ボタンを無効にすると
Page_Load後に本来処理が走る、onserverclickイベントが実行されません。

function AllDisalbed()
{
var i;
var cnt;

cnt = document.forms(0).elements.length
for(i = 0; i < cnt; i++){
document.forms(0).elements(i).disabled = true;
}
}

例えば、登録ボタンをクリックした場合など、その処理中に
画面上のボタンやリンクをクリックさせたくない場合、皆さんはどのようにロジックを組んでいますか?
クライアントで処理するのではなく、Page_Loadで書いてたりするのでしょうか?

43 名前:nobodyさん mailto:sage [2007/07/25(水) 13:21:44 ID:???]
>>42
disabledにするとASP.NETのポストバック判別用の
JavaScriptが動作しないのでイベントが動かなくなる。
だから、setTimeoutでワンクッション置くと解決する。

setTimeoutを使いたくないなら、
ttp://osada.bz/PermaLink.aspx?guid=b01b5502-5e06-4e87-a616-16c01610c08e
あたりを参考にdisabledの後にボタン本来のポストバック関数を呼ぶ。


44 名前:nobodyさん mailto:sage [2007/07/25(水) 16:41:06 ID:???]
C#でテキストボックスの内容が数値かどうかをチェックするには
TrayParseを使わないとダメなのでしょうか?

皆さんはこんな感じでロジックを組んでいるのでしょうか?
IsNumeric関数のように対象文字列だけ引数に入れるような関数は無いのでしょうか?

int nNull;

if (!int.TryParse(this.text1.Value.ToString(), out nNull))
{
this.text1.Value = "0";
}

45 名前:nobodyさん mailto:sage [2007/07/25(水) 21:02:25 ID:???]
>>44
好きなように組んでください。

46 名前:nobodyさん [2007/07/30(月) 15:04:02 ID:7sXEyNUj]
テキストボックスやテキストエリアにタグを入力してPostBackすると
「危険な可能性のある Request.Form 値がクライアントから検出されました。」
というエラーが発生します。

このエラー対応はWeb.configに<pages validateRequest="false"></pages>を追加して
サーバでチェックするのが一般的なのでしょうか?

47 名前:nobodyさん [2007/07/31(火) 07:39:20 ID:XmzlopkS]
catch内の処理で例外が発生したらどうなっちゃうの?

catchでエラー画面にResponse.Redirectで遷移し、ついでにResponse.End()もやってるんだけど
これってやばい?
Resonse.RedirectってResponse.End()ってやらないとすぐに遷移しないですよね。
それがヤダ。
画面が全部表示しきってから遷移するんだもんなぁ。
これって何とかならんの?
Response.End()やるしかない?

48 名前:nobodyさん mailto:sage [2007/07/31(火) 10:59:11 ID:???]
>>46
システムによる。

>>47
Resonse.Redirectの第二引数をfalseにしていないなら、
Resonse.Redirectは同時にResponse.Endも行ってるでしょ。

なんか意図してるところが違うのか?よくわからん。

49 名前:nobodyさん [2007/08/01(水) 23:18:10 ID:Ls359Xqo]
ASPの画面であるボタンを押下した時に当然aspx.csの中の
そのボタンイベントメソッドに入ると思うのですが、
その中でいろいろ処理をした後にReturn値を取得して、
分岐でそのReturn値が1だったらASP画面のボタンの右横に○、
2だったらボタンの右横に×を出すようにしたいのですが
どうすればいいのでしょうか?


50 名前:nobodyさん mailto:sage [2007/08/02(木) 00:07:35 ID:???]
なんとも要領を得ない文章だが、サーバサイドとクライアントサイドの処理の違いがわかってないことだけはわかった。
入門書読んで出直しといで。



51 名前:nobodyさん mailto:sage [2007/08/02(木) 00:22:10 ID:???]
>>51
答えられないんだったらいちいち書き込むなよ

>>50
ASP側に id="Label1"というLabelを仕込んで
aspx.csファイル側でif文かなにかで
Label1.Text = "○"
Label1.Text = "×"
にすればよい

52 名前:nobodyさん mailto:sage [2007/08/02(木) 00:23:13 ID:???]
>>51
間違った
49と50だった…

53 名前:nobodyさん mailto:sage [2007/08/02(木) 11:56:36 ID:???]
>>52
レスもレス番もまともに書けんのか

54 名前:nobodyさん mailto:sage [2007/08/02(木) 20:55:45 ID:???]
>>51
本当にそれでいける?

55 名前:nobodyさん [2007/08/02(木) 23:29:29 ID:aUE57HU0]
aspx.csでダイアログ画面を閉じたいのですが
csでjavascriptのwindow.close()を実行しても、すぐには実行されず
画面上の全てのhtmlを出力してから実行されますね。
スクリプトをすぐに実行したい場合、どうしたら良いのでしょうか?
たとえば、登録ボタンをクリックした時、Page_Loadで登録処理を行い、すぐに画面を閉じたいのです。
閉じるようの画面を作って、その画面にRedirectする方法しか思いつかない。

56 名前:nobodyさん mailto:sage [2007/08/03(金) 11:52:20 ID:???]
途中でFlush()メソッドしてやればいいのでは?

57 名前:nobodyさん [2007/08/03(金) 17:33:12 ID:9JZ2axOl]
ASP.NETの質問をさせてください。
TestソリューションにAプロジェクトとBプロジェクトを追加し
Bプロジェクトの参照設定で、Aプロジェクトを追加しました。
Bプロジェクトに追加されたAプロジェクトはローカルにコピーしないを設定しました。
これで実行すると、Aプロジェクトがどこにあるか分からない的なエラーが出るのですが
どう改善したら良いのでしょうか?
A.dllをグローバルアセンブリキャッシュに登録しないやり方があれば教えてください。

58 名前:nobodyさん mailto:sage [2007/08/03(金) 22:32:35 ID:???]
どうしてエラー内容を正確に書かないのか

59 名前:nobodyさん mailto:sage [2007/08/03(金) 22:56:53 ID:???]
いいからローカルにコピーする設定にするんだ

60 名前:nobodyさん mailto:sage [2007/08/03(金) 23:21:02 ID:???]
>>58
依存関係がどうのこうのってエラー。

>>59
ローカルにコピーしたらA.dllを修正した場合
BプロジェクトのbinにあるA.dllも手作業で修正後のdllに変更しないと駄目じゃん。

この例ではAとBプロジェクトの2つだけだけど
仮にAプロジェクトを参照設定しているプロジェクトが10個とかあったらどうするの?



61 名前:nobodyさん mailto:sage [2007/08/04(土) 01:05:56 ID:???]
あほ?


62 名前:nobodyさん mailto:sage [2007/08/04(土) 13:22:46 ID:???]
だから動的にってあれほど・・・

63 名前:nobodyさん mailto:sage [2007/08/04(土) 19:57:46 ID:???]
>どうしてエラー内容を正確に書かないのか

64 名前:nobodyさん mailto:sage [2007/08/05(日) 05:19:17 ID:???]
>60
無理だからあきらめろ。

65 名前:nobodyさん [2007/08/09(木) 01:47:23 ID:bl38nCXt]
こんばんわ。
質問があります。

[ASP.NET AJAX]ASP.NET AJAX Control Toolkitを利用するには?[2.0のみ、C#、VB]
www.atmarkit.co.jp/fdotnet/dotnettips/561aspajaxprepare/aspajaxprepare.html

にあるように、AJAXコントロールキットを組み込んで、レンタルサーバ(DOTNETレンタルサーバ)に
プロジェクトをアップロードして確かめたところ、以下のエラー出ました。

'/' アプリケーションでサーバー エラーが発生しました。
--------------------------------------------------------------------------------

パーサー エラー
説明: この要求の処理に必要なリソースの解析中にエラーが発生しました。以下の解析エラーの詳細を確認し、ソースファイルに変更を加えてください。

パーサー エラー メッセージ: ファイルまたはアセンブリ 'AjaxControlToolkit'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。




これは、なぜ起きるのでしょうか?
ちなみに、自分のPC上では正常に動作しました。
問題なのは、レンタルサーバー上でエラーとなったことです。

66 名前:nobodyさん mailto:sage [2007/08/09(木) 11:39:58 ID:???]
>>65
AJAX Control ToolkitはAJAX Extensionsと
異なるDLLで動作してかつ現状グローバル・アセンブリ・
キャッシュにも登録されないので、サイトルートのbinフォ
ルダの中に「AjaxControlToolkit.dll」が必要。

利用しているレンタルサーバは「AJAX Extensions」だけが
インストールされているだけっぽいし。



67 名前:65 [2007/08/09(木) 11:53:46 ID:SsgdZ+V9]
>>66
binの中には、そのdllが入っています。
なのにエラーがでてしまうのです

68 名前:nobodyさん mailto:sage [2007/08/09(木) 14:08:59 ID:???]
>>67
そのエラーは基本的に「AjaxControlToolkit.dll」の話だから
・サイトルートのbinフォルダの中にあるか?
確認してみ。

まぁ、
まさか無いだろうがAjaxControlToolkit.dllをFTPのバイナリモード
でアップロードしていなくて壊れてるとかか。




69 名前:65 [2007/08/09(木) 14:23:18 ID:SsgdZ+V9]
>>68
サイトにもありますし
ftpでアップロードしました

今夜もう一度確認してみます

70 名前:nobodyさん mailto:sage [2007/08/09(木) 22:22:21 ID:???]
なぜソース エラーを省略するのか



71 名前:65 mailto:sage [2007/08/10(金) 00:06:46 ID:???]
解決しました。
ありがとうございました。

72 名前:nobodyさん mailto:sage [2007/08/10(金) 01:09:45 ID:???]
なぜ解決理由を省略するのか

73 名前:nobodyさん mailto:sage [2007/08/10(金) 01:26:40 ID:???]
せめてなんだったのか書こうぜ


74 名前:nobodyさん mailto:sage [2007/08/10(金) 11:08:39 ID:???]
DOTNETレンタルサーバの無料サービスで実際に
AJAX Control Toolkitを利用したサイト作って確認してみた。

>>65のエラーが出るのは、
・サイトルートのbinフォルダにAjaxControlToolkit.dllが無い時
・dllをFTPのアスキーモードで送信して壊したとき
以外には確認できなかったのでASP.NETとは関係ない単純ミスだと思う。


75 名前:65 mailto:sage [2007/08/11(土) 00:15:29 ID:???]
失礼しました。

確かに単純ミスというか知識不足でした。

dllファイルは、wwwroot/の直下にあるbinフォルダに入れるということですが、
私の勘違いで、

プロジェクト名がAAAだとすると、

wwwroot/AAA/binの中にdllを入れても問題がないという認識でした。
当然、wwwroot/AAA/直下には、default.aspxがあります。

みなさま失礼いたしました。

76 名前:nobodyさん mailto:sage [2007/08/11(土) 00:33:12 ID:???]
     ∧∧
    ヽ(・ω・)/ ズコー
   \(.\ ノ
      ̄

77 名前:nobodyさん mailto:sage [2007/08/12(日) 00:02:59 ID:???]
な、なんだってー!!

78 名前:nobodyさん [2007/08/12(日) 00:11:24 ID:AGH4B/9O]
htmlやcssファイル、jsファイルなどはキャッシュに残ってしまい
サーバにアップされているファイルとキャッシュにあるファイルに差があっても
キャッシュを見てしまいます。
それを避けるためにプログラムでキャッシュを削除するとかって可能なのでしょうか?

サーバの設定でファイルがキャッシュに残る有効期間を設定できますが
有効期間があってもPG側で削除するというのをやりたいのです。
例えば通常は有効期間を設定しておき、キャッシュのファイルを使ってもらうのですが
ファイルの内容を修正したりという場合は、キャッシュにあっても再度サーバからダウンロードさせたいのです。

79 名前:nobodyさん mailto:sage [2007/08/12(日) 07:22:06 ID:???]
>>78
つうか、それってASP.NETの「Cacheクラス」とかの
話じゃなくてIEのキャッシュの話だろ。
微妙にスレ違いな感じが。

ヒント的には
ブラウザのキャッシュはファイル名ではなくてURLでキャッシュされるから
jsなどのURLにパラメータでも追加してブラウザに別物のURLと認識させる。

上記の意味が分からなければ、
・Ctrl+F5で更新してもらう
・ブラウザのキャッシュをHTTP ヘッダーで無効にし毎回ダウンロードする形にする。
とかで対応しとけば

80 名前:nobodyさん mailto:sage [2007/08/12(日) 13:40:00 ID:???]
>78
キャッシュしててもリクエストは来て304が帰ってるんじゃないのか?
ファイルが更新されてたらキャッシュは使用されないだろ。



81 名前:nobodyさん mailto:sage [2007/08/12(日) 17:56:27 ID:???]
TreeviewでチェックボックスをON・OFFしたときに、イベントを取るのってムリですか?

82 名前:nobodyさん mailto:sage [2007/08/12(日) 20:46:16 ID:???]
>>80
ページが最後に表示されてから変更されたか、
(If-Modified-Since)を確認する間隔もブラウザのアルゴリズムや
設定に依存するからファイルが更新されているのにキャッシュが
使われる事もある。プロキシがあったらさらに複雑化するし。

それを解決するには、URLに変化をかけるかキャッシュを利用しない
が一番トラブルが起きにくい。

83 名前:nobodyさん mailto:sage [2007/08/12(日) 21:00:44 ID:???]
>>81
簡単には無理だね。
javascriptでTreeviewのチェックボックスにイベント割り当てて
ASP.NETのサブミットさせるとかでうまく出来そうだけど。

84 名前:nobodyさん [2007/08/12(日) 21:23:38 ID:CwIQgpKd]
>>79,82
ファイル名を変えなくてもパラメータを変えれば別物と判断されるんですね。

A.html?ver=1.0
A.html?ver=2.0
って別物と判断してくれるってこと?

85 名前:nobodyさん mailto:sage [2007/08/12(日) 21:30:23 ID:???]
別物って微妙…


86 名前:nobodyさん mailto:sage [2007/08/12(日) 21:45:47 ID:???]
>>84
まず、
実際試してキャッシュフォルダ(Temporary Internet Files)とか確認したら?
その上で、ページを表示している状態で更新してもキャッシュが利用されて
いないか確認したらいいんでない。

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

ソースが欲しいのなら
ttp://yuki.silk.to/2006/04/000170.html

87 名前:nobodyさん [2007/08/14(火) 12:07:12 ID:hGLDM3MP]
質問です
環境はVS2005 C#です
masterページに動的に配置したcalendarコントロールのselectedDateイベントを
コンテンツページから取得するにはどうすればいいのでしょうか?

実現したい動作はmasterページのcalendarコントロールの日付を選択
その日付をコンテンツページで取得して選択された日の予定一覧を表示です。

88 名前:87 [2007/08/14(火) 12:11:07 ID:hGLDM3MP]
追記です。
コンテンツページで作成したcalendarコントロールをmasterページに
渡してイベントを拾う事は出来るのですが、連続して日付を選択して行くと
二回目以降に[viewstateの読み込みに失敗しました]というエラーが出ています

89 名前:nobodyさん mailto:sage [2007/08/14(火) 20:28:06 ID:???]
>>87
問題の原因が特定できないならソースを貼るべきだと・・・

まぁ、予測だが「viewstateの読み込みに失敗しました」と言ってるのを見ると
masterページうんたらよりも動的コントロールの部分が問題の気がする。
「Page_Load」以下で動的に(viewstateがtrueの)calendarコントロール作成して無い?
その場合「Page_Init」で作成するようにして「追記」の状態で確認してみ。

90 名前:nobodyさん mailto:sage [2007/08/19(日) 12:55:08 ID:???]
このスレの質問が、ほぼ全て教えてクンで笑った。
「教えてクン養成マニュアル」置いておきますね。
ttp://www.redout.net/data/osietekun.html



91 名前:nobodyさん [2007/08/19(日) 17:31:02 ID:PhTQfUKC]
webディレクトリー以外に置いたファイルをダウンロードするには
どうすればよいでしょうか?

92 名前:nobodyさん mailto:sage [2007/08/19(日) 17:42:12 ID:???]
>>91
support.microsoft.com/kb/307603/ja



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


94 名前:nobodyさん mailto:sage [2007/08/19(日) 21:30:38 ID:???]
>>93
いや、勘違いしてるんだが、

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

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

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

まぁ、ASPでも出来るから調べるなり該当するスレに移動するなり
した方がいいよ。


95 名前:nobodyさん [2007/08/19(日) 22:52:06 ID: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側でどういう風に書けばいいのでしょうか?

下らない質問ですが
ググッてもよくわからなかったので教えてください

96 名前:nobodyさん mailto:sage [2007/08/19(日) 23:06:46 ID:???]
>>95
普通なら、動的コントロールで必要な分作成する。
簡単に済ますなら、とりあえず全てのラベルのVisibleを
aspxでfalseにしておいてTextに入れるついでにtrueにする。


97 名前:nobodyさん [2007/08/19(日) 23:40:54 ID:fhtMy5hW]
>>96
>普通なら、動的コントロールで必要な分作成する。
ありがとうございます
すいませんがいまいちよくわかりませんので具体的に教えてください

98 名前:nobodyさん mailto:sage [2007/08/19(日) 23:50:39 ID:???]
>>97
少しは自分で調べてみるといいと思います。
support.microsoft.com/kb/317794/ja

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



99 名前:nobodyさん mailto:sage [2007/08/20(月) 00:07:03 ID:???]
カスタムコントロールのことかな
良く分からんが

100 名前:nobodyさん mailto:sage [2007/08/20(月) 00:34:10 ID:???]
カスタムコントロールは関係ないね。
aspx.csのコードでからlist.countの分だけ
aspのラベルコントロールを(aspxの方には一切コントロールを置かず)
動的に作成すればいいだけ。

list.countの最大数が決まってるのなら、
aspx側に最大数分作っといてVisibleでコントロールしろと
>>96は言ってるだけだから。




101 名前:nobodyさん mailto:sage [2007/08/20(月) 00:56:02 ID:???]
>>100で「関係ない」と書いてみたものの>>95を10回くらい読んで
カスタムコントロールの質問にも思えてきた。

良く分からんが

102 名前:nobodyさん [2007/08/20(月) 18:14:22 ID:0m18HzF/]
はじめてのASP.NETなのですが、練習用のテスト環境には、IIS(Windows XP pro)が必要でしょうか?
Apacheじゃだめですよね。。みなさん、どうしてますか?

103 名前:nobodyさん mailto:sage [2007/08/20(月) 18:26:19 ID:???]
>>102
VS2005(ASP.NET 2.0)ならIISは無くてもテストやデバッグは可能です。
www.microsoft.com/japan/msdn/vstudio/express/vwd/

一時的にサーバ環境が必要なら、
DOTNETレンタルサーバの無料サービスを利用すればOK

104 名前:nobodyさん [2007/08/20(月) 19:00:18 ID:0m18HzF/]
まさに探していたものです。ありがとうございました^^

105 名前:nobodyさん mailto:sage [2007/08/20(月) 21:55:38 ID:???]
>102
VisualStudio2005をインストール可能な環境はIISもインストール可能なはずなのですが。

106 名前:nobodyさん mailto:sage [2007/08/20(月) 22:00:59 ID:???]
XP Home

107 名前:nobodyさん mailto:sage [2007/08/20(月) 22:37:58 ID:???]
>>105どこの情報だそれはw

108 名前:nobodyさん mailto:sage [2007/08/20(月) 22:43:21 ID:???]
>106
Homeなんかすっかり忘れてたよ。

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非同期通信後に


210 名前:nobodyさん [2007/10/20(土) 16:11:30 ID:bogh6jgR]
スタンドアロン環境でAP開発して、ファイルコピーにて
アプリケーションを配置したのですが、初回起動時毎回
すごい時間がかかります。(=コンパイルされている様子)
どの点を見直せばよろしいでしょうか?
2003Server ASP.NET2.0



211 名前:nobodyさん mailto:sage [2007/10/20(土) 17:30:47 ID:???]
事前コンパイル

212 名前:nobodyさん mailto:sage [2007/10/20(土) 18:59:16 ID:???]
>>210
ASP.NET コンパイルの概要
msdn2.microsoft.com/ja-jp/library/ms178466(VS.80).aspx

自動コンパイル(動的コンパイル)
メリット:
 ソースをコピーすればいい。
 ソースを配布先でテキストエディタも修正できる。
デメリット:
 初めて要求時にコンパイルされる時間が掛かる。

埋め込み先コンパイル
メリット:
 ソースをコピーすればいい。
 ソースを配布先でテキストエディタも修正できる。
 初めて要求時にコンパイルされる時間が掛からない。
デメリット:
 ソースの一部でも修正したらコマンドラインで動的コンパイル時に発生するコンパイルと同じコンパイルを実行しなければならない。

事前コンパイル
(更新不可能な完全プリコンパイル・更新可能なプリコンパイル)
メリット:
 初めて要求時にコンパイルされる時間が掛からない。
 ソースを隠蔽する事が可能。
 全ての画面を単一のDLLにするなどが可能。
 更新可能なプリコンパイルなら、aspx、.ascxのみ変更可能。
デメリット:
 windowsアプリの様にソースと配布用の実行ファイルを分けて管理などを考える必要がある。

簡単な説明するとこんな感じ。
詳細は上のURLで理解したうえで、自分で選んでください。


213 名前:nobodyさん mailto:sage [2007/10/20(土) 19:51:27 ID:???]
しかし起動時にすごい処理してるってオチがあったりして…


214 名前:nobodyさん [2007/10/20(土) 21:46:20 ID:bogh6jgR]
>>212
参考になりました。ありがとうございます!!!

215 名前:nobodyさん mailto:sage [2007/10/20(土) 22:07:26 ID:???]
>>214
>211にも何か一言くらい...

216 名前:nobodyさん [2007/10/20(土) 22:10:10 ID:jIqTRPXl]
ASPはわからない部分が多いので教えてください。
こういうのを作っています。
・フレームで画面を上下に分割
・上部に検索条件を指定するための入力フォームと検索ボタン
・下部にObjectDataSourceとGridView
上部で指定された条件を元にSQLのWHERE文を作成し、下部に渡したいと思っています。
こういう時はどういう処理が一般的でしょうか?
今のところ考えているのが上部で作成したWHERE文をセッション変数に格納し、
下部のDataSourceのSelectedMethodで指定しているメソッドの中で
If セッション変数 <> String.Empty Then
  sql = sql & "WHERE" & Chr(13)
  〜ここで条件を追加〜
End If
みたいにして条件を追加しようと思っています。
これが動作するかどうかは試せばすぐわかると思うのですが
一般的な処理の方法がこんな感じで合っているか気になります。
いかがでしょうか?



217 名前:nobodyさん mailto:sage [2007/10/21(日) 01:32:40 ID:???]
フレームなんか使うな。


218 名前:nobodyさん [2007/10/21(日) 01:52:59 ID:1pk3RmdZ]
せっかくのPostbackなんだから単一画面でしょう

219 名前:nobodyさん mailto:sage [2007/10/21(日) 10:05:16 ID:???]
フレーム使わないでテーブルにぶち込むとか、<hr>で区切るとか汁!


220 名前:216 mailto:sage [2007/10/22(月) 00:25:54 ID:???]
>>217-219
とりあえず今回は上記の方法を採用しました。
動作としては今のところ問題ないようですのでこのままいきます。
ちなみになぜフレームを採用したかというと画面上部のフレームは
検索条件を指定する画面を表示するのですが
簡易検索条件入力フォームと詳細検索画面を切り替え、且つ、
下部は共通したGridViewを使用したかったためです。
ありがとうございました。



221 名前:nobodyさん mailto:sage [2007/10/22(月) 01:51:40 ID:???]
今回は仕方無いにしても,今度はフレームを利用せずに
それらを実現できるように成長することを期待。

222 名前:216 mailto:sage [2007/10/22(月) 03:32:30 ID:???]
>>221
ケースバイケースケースで
上部のフレームの中身を差し替えることで
検索条件の指定方法を変えたいと思いフレームを採用しましたが、
そこまでフレームを非推奨なのにはなにかわけがあったりしますか?
今回は切り替えと、常に上部に表示させておきたいということで
フレームを採用しましたがそこまで否定派が多いとちょっと気になります。

223 名前:nobodyさん mailto:sage [2007/10/22(月) 13:18:05 ID:???]
>>222
フレームについては宗教論争的な部分もあるんで他人から
強制させられるよりも自分で見つけたほうがいいよ。

とは言っても、あれなんで簡単に
・W3Cはframeに対して否定的な動き。
・1つのURIに1つの情報と言うのが理想的である。
・ユーザビリティ的にも、セキュリティ的にも低下する恐れがある。
ttp://java-house.jp/~takagi/paper/iw2002-jnsa-takagi-dist.pdf
・SEO関係の話
・完全ではないにしても(i)frameのメリットである「情報の部分再描画」はajaxで「スクロールによる表示箇所の分離」はcssで出来る。

とか色々、どれも否定する決定的な要因は無いのだが利用している側は大抵が「なんとなく」で使ってる場合が
多いので否定的な意見されるのが現実です。個人的には、上記のような事を理解した上で、デメリットを解決したり
無視できる状況を作り「フレームを使う」事によってしか生まれないメリットを追求する意思があるのならいいと思う。

上記は、HTML上の話だけだが更にASP.NETでフレーム開発になると以下が追加される。
ASP.NETのフレームワーク基本概念「postback」や「ViewState」は同一ページ内の処理を基本と
するため相性が悪い為、VS2003では選択できたフレームセットのテンプレートはVS2005では無くなりました。
VSから作れないだけでテキストエディタなどで作成することは可能ですが、別フレーム間の操作やデータ参照で
トラブルまたはASP.NETで作成する意味が無くなる場合があります。

ttp://karua.at.webry.info/200607/article_12.html
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=25167&forum=7&start=8&15

これを解決するにはHTML・CGIの知識とあわせてASP.NETの「イベント関係の理解」・「postbackやViewStateの内
部的な動き」「動的に作成されるJavascriptの理解」など通常フレームワークで隠蔽されている部分の知識が必要に
なる場合がほとんどです。
で、大抵ASP.NETでframeを使った際のトラブルなんて特殊な状況を想定できる人は少ないので、Webで質問しても
レスを貰う事も難しくなります。


224 名前:nobodyさん mailto:sage [2007/10/22(月) 13:43:34 ID:???]
>>214
追加だが
現在、「自動コンパイル」で遅いと思っていて手軽に解決するなら
「埋め込み先コンパイル」が一番簡単です。

cd /d C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
Aspnet_compiler -v /仮想ディレクトリ名 -errorstack

を2003Serverのコマンドプロンプトで流せば全てのファイルに
自動コンパイルを行った状態になります。

225 名前:nobodyさん mailto:sage [2007/10/22(月) 22:58:44 ID:???]
あとセッション使うと単純にやると各フレームで同時処理できないからそれも注意がいるかもよ。



226 名前:nobodyさん mailto:sage [2007/10/23(火) 00:43:07 ID:???]
>>225
どういう意味でしょうか?

227 名前:216 mailto:sage [2007/10/23(火) 01:51:24 ID:???]
>>223
なるほど。
>>W3Cはframeに対して否定的な動き
盲目的に信じるのもあれですがW3Cが推奨しないということは
やはりそれなりの理由があるんでしょうね。
>>VS2003では選択できたフレームセットのテンプレートはVS2005
2005でなくなっていてびっくりしました。
やはりVSとしても推奨しない動きなんでしょうね。
今回とりあえずフレームで実装したのですが変更した方がよいでしょうね。
だとしたら>>216>>220に内容は書きましたがフレームを使用することで
画面上部に検索条件入力フォームを「常に」表示させていたのですが
これをフレームを使用せずに用件を満たす必要があります。
フレーム無しで画面上部に常に表示させていたいコントロールを配置する場合
どうすればよいでしょうか?
常に表示させておく必要がなければvisibleあたりを制御するだけでよいのですが。。

>>225
これは>>226さんと同じく気になります。
どういう意味でしょうか?


228 名前:216 mailto:sage [2007/10/23(火) 02:32:53 ID:???]
すみません全く別の質問よいでしょうか?
検索結果一覧の画面を作成するためにどのコントロールを採用すればよいかお教えください。
目的は以下のサイトのようなビューです。
ttp://www.st-image.com/12/13/itemlist.aspx
・ページングあり
・単純な行での一覧表示ではなく、横→縦にデータが並んで表示される
試したこと
・GridView
 横に並んで表示できない
・DataList
 自前でページング処理を記述する必要があり
・DetailsView & FormView
 1レコードずつしか表示できない

一件DataListでもなんとかなると思うのですが自前で毎回全件を取得しないように気をつけたページング
処理を記述する必要があると言うところが腑に落ちません。
DataViewですとObjectDataSourceとObjectDataSourceのSelectedMethodを連携させることで
ページング処理を簡単に書くことができます。
なのにDataListでわざわざ自前でページング処理を書かなければならないというのが違和感です。
こういうサイトはどのようなコントロール&処理を実装しているのでしょうか?

229 名前:nobodyさん mailto:sage [2007/10/23(火) 11:13:34 ID:???]
>>227
まず、海外も含めてインターネット上で公開されているWebサービスで上部にボタンなどが固定されている
実例が少ないことを考えれば固定する必要がなくても使いやすいシステムはできると言うことを念頭に置くべきです。
「画面内に必要な情報を集める」とか「検索処理をした後に検索のテキストボックスが常に見えている必要があるのか?」とか

それでも固定することにメリットがあると思うのならCSSで[overflow:autoとかposition:fixed(IE6対応にはjavascriptが必要)]
ttp://msdn2.microsoft.com/ja-jp/library/default.aspx
(リキッドレイアウトにも対応)
は、数ある方法の無難な良い例になるので自分で解析してください。
Firefoxにfirebugアドオン入れれば解析も楽なはず。
もしくは、前のレスで言った「フレームを使う」事によってしか生まれないメリットを追求する。

各画面に同じレイアウト書かなきゃならんと言う開発側の問題はVS2005ならマスターページで解決する。

>>228
ObjectDataSourceを使ってる場合、GridViewだろうとページングの見た目は作成されるが処理は自前だけど。
SqlDataSourceなら処理部分まで自動で処理してくれるが、ボトルネックとか拡張性に問題があるので使い道はあまり無いが。

>処理を記述する必要があると言うところが腑に落ちません。
ASP.NETは魔法の杖じゃないから、普通にCGIで考えれば「必要な件数をDBから取得して」「必要な件数を表示する」と言うの
は当然でGridView+DataSourceはそれを処理しやすくなっているに過ぎないし。
だから、技術が無い・手軽になら既存のコントロールをベースにデザインを考えるしかない。
逆なら、クラスを継承するなり、カスタムコントロールなりで拡張すればいいだけ。
フレームワークの基本だと思うんだけどね。

1.ページング表示部を自作してDB検索してDataTableを作って「Repeater」コントロールで<div style="float:left;">を出力もしくは
DataListのDataSourceにDataTableを設定まで自分で作る。(中途半端にDataSourceなどの繋ぎに拘ると面倒になるので)
2.DataListを拡張(ユーザコントロール、カスタムコントロール)してDataSourceと連動するように作る。
 (ググればカスタムコントロールを作っている人も良そうだが)

230 名前:nobodyさん mailto:sage [2007/10/23(火) 11:57:47 ID:???]
Javascriptでaspを呼び出すことはできるのでしょうか。

Javascriptでクッキー処理 −引数つけてASP呼び出し→ ASP処理 → ASPでJS書き出し

という感じのことをやりたいのですが。



231 名前:230 [2007/10/23(火) 11:58:30 ID:35vpnyji]
age忘れましたすみません。

232 名前:nobodyさん mailto:sage [2007/10/23(火) 13:19:48 ID:???]
>>230
引数つけてASP呼び出し
location.href('www.aaa.aspx?a=1')
他は省略

>Javascriptでクッキー処理 −引数つけてASP呼び出し→ ASP処理 → ASPでJS書き出し
ってか、この各処理は同一のaspxでの話しを想定してるの?
クッキー処理はASPへのデータ引渡しの為に使うの?

つうか、ASP.NET以前に、「HTMLとCGI」の値の受け渡しに利用しようとしているんであれば
クライアントとサーバの切り分けが出来ていないように感じるんだがその辺は大丈夫?
そう感じた理由に「本来ならPostを基準にデータを取得する所をPostデータの管理を便利にする為
にCookieを利用している」と切り分けが出来てるなら、ASP.NETの基本概念を見ればどの様に変化
したかがわかると思うんだよね。


233 名前:216 mailto:sage [2007/10/24(水) 00:36:46 ID:???]
>>229
・フレームについて
回答ありがとうございます。
>検索処理をした後に検索のテキストボックスが常に見えている必要があるのか?
通信販売等のサイトで使い勝手を確認したところおっしゃるとおり「ない」です。
常に見えていないことが特に気になりませんでした。
急遽フレームを使う仕様を変更しました。
ご指摘ありがとうございました。

・ページング処理可能なビューについて
GridView+ObjectDataSourceがページング処理を記述しなくてもよいという表現は誤りでした。
おっしゃるとおりデータ取得部分は自前です。
GridView+ObjectDataSourceがページング処理の見た目の処理を備えていたので
他にもこういう機能がないのかと思ったのですが甘かったみたいです。
手軽に、というのも理由の一つですが堅実なものを作成したいので既に備えている機能をわざわざ
実装するのは避けたかったため質問させていただきました。
素直に自作します。
今回は「2.DataListを拡張〜」を行いたいと思います。
Webに関しては特にわからない部分が多いため質問のレベルも低いかもしれませんでしたが、
重ね重ねありがとうございます。

234 名前:216 mailto:sage [2007/10/24(水) 02:25:50 ID:???]
当初>>216にてお尋ねしましたが
フレームは使用しなくなったことで別フレームへ動的に作成されたWHERE区を
渡す必要はなくなりましたが、
以前と同じくWHERE区をObjectDataSourceのSelectedMethodで指定された
メソッドに渡す必要があります。
以前は別フレームに文字列渡すから仕方なくSession変数に複数の条件から作成した
WHERE区を入れておいて、ObjectDataSourceのSelectedMethodで指定された
メソッド内でFill()する前にSession変数から取り出せばよいと考えていたのですが、
同じページ内のコントロールからWHERE区を作成するだけなのにSession変数を
使用するのに違和感を感じてきました。
もっと簡潔な方法ありませんか?
・フレームは使用していない単一ページ
・検索ボタンは検索したい方法が2つあるため、ボタンが二つある
 (TextBox1つと検索ボタンで構成されたALLサーチ機能と細かい条件を指定するための多数の入力コントロールと詳細検索ボタン)
・SelectedMethod内でWHERE区を動的に作成しようとするなら、どちらのボタンが押されての検索かわからないため、
 SelectedParameterに全ての入力コントロールをずらずらと並べることはできない
 SelectedMethod内でどちらのボタンが押されての処理か判断できないと思われるため
・ボタンのイベントでそれぞれ動的にWHERE区を作成し、Session変数に格納し、
 SelectedMethod内で受け取るという処理はトリッキーな方法に感じる

本件はSession変数を用いてデータの受け渡しをすることが一般的な処理方法でしょうか?
勉強で作成していますので動けばいい、というものを作ることはできないため
確認させてください。
「ObjectDataSource SelectedMethod 動的 WHERE」辺りの検索ワードでは
 今回のケースにあたるような情報を見つけ出すことができませんでした。。

235 名前:nobodyさん mailto:sage [2007/10/24(水) 02:28:26 ID:???]
>>225
同一セッションのリクエストは直列化されるってことだよ。


236 名前:nobodyさん mailto:sage [2007/10/24(水) 03:00:01 ID:???]
フレーム分割することによりユーザービリティが低下することって考えられないけどねぇ・・・。
検索エリアを固定を常表示することで解決できるけど、それならFrameでいいじゃんと思んだけど・・・。
あらゆる場面を検証したW3Cに反論する気はないけど、規約に反するからって単一画面で描画の
遅いメニュー表示されたら余計にイライラするけどwww


237 名前:nobodyさん mailto:sage [2007/10/24(水) 12:38:49 ID:???]
>>234
1.SelectMethodに全ての条件+処理フラグの引数を作る。
2.SelectedParameterに項目+ボタン区別用のhiddenをControlParameterとする。
3.ボタンを押されたらASP側のクリックイベントでhiddenにフラグをセットする。
4.ObjectDataSourceの中身で処理フラグによって処理を分ける。

「2.」「3.」はSelectParametersをasp:Parameterにしておいて動的に変更すれば
hidden項目自体要らない。


238 名前:nobodyさん mailto:sage [2007/10/24(水) 16:35:10 ID:???]
質問者に対する回答でもなくて、
ユーザービリティを自分が経験した事だけでしか想像できなくて、
わけ分からん描画の遅い早いを持ち出す、
的外れてる奴が出てきたなと。


239 名前:nobodyさん mailto:sage [2007/10/24(水) 23:22:33 ID:???]
お前ら全員死ねよ

240 名前:nobodyさん mailto:sage [2007/10/24(水) 23:27:23 ID:???]
過激なやつだ…




241 名前:nobodyさん mailto:sage [2007/10/25(木) 21:16:47 ID:???]
お前ら全員愛してる

242 名前:nobodyさん mailto:sage [2007/10/25(木) 21:39:46 ID:???]
キスして

243 名前:nobodyさん mailto:sage [2007/10/26(金) 00:57:34 ID:???]
屁こいてやったぜ

244 名前:nobodyさん mailto:sage [2007/10/26(金) 15:36:23 ID:???]
MSDN2みたいに、メニューバーエリアを選択したら、そのメニュー項目が
Popupメニューのようにフェードイン・フェードアウトして一覧表示される
にはどうすればよいですか?

245 名前:nobodyさん mailto:sage [2007/10/26(金) 17:05:56 ID:???]
>>244
1.MSDNのjavascriptを解析して組み込む。
2.Popup Menuのjavascriptライブラリを利用する。
 ASP.NETの場合は、HTML上に表示されるコントロールID(ClientID)をライブラリに割り付ける方法は考える必要があり。
3.ASP.NET AJAX Control ToolkitのPopupControlExtenderを利用する。
 ASP.NETのほかのサーバコントロールと同じように作成できるが、
 Javascriptが隠蔽されるとか、コントロールの使い方を覚えないといかないはとかで理論が分かりにくい。

PopupControlExtenderの場合は<Animations>にこんな感じで指定すれば動く。
<Animations>
<OnShow>
<Sequence>
<StyleAction Attribute="overflow" Value="hidden"/>
<StyleAction Attribute="height" Value="0"/>
<StyleAction Attribute="width" Value="0"/>
<HideAction Visible="true" />
<Parallel Duration=".2" Fps="15">
<Resize Height="50" Width="125" Unit="px" />
</Parallel>
</Sequence>
</OnShow>
<OnHide>
<Sequence>
<StyleAction Attribute="overflow" Value="hidden"/>
<Parallel Duration=".2" Fps="20">
<Resize Height="0" Width="0" Unit="px" />
</Parallel>
<StyleAction Attribute="display" Value="none"/>
</Sequence>
</OnHide>
</Animations>

246 名前:216 mailto:sage [2007/10/27(土) 14:04:47 ID:???]
>>237
この方法で実装できそうです。
前から気になっていたのですっきりしました。
「asp:Parameter」という部分が理解できませんが別途調べますね。
ありがとうございます。

247 名前:nobodyさん mailto:sage [2007/10/27(土) 17:04:02 ID:???]
>>246
SelectedParameter
<asp:Parameter Name="flg" Type="String" />

ボタン1処理
ObjectDataSource.SelectParameters.Item("flg").DefaultValue = "処理1"

ボタン2処理
ObjectDataSource.SelectParameters.Item("flg").DefaultValue = "処理2"

とすれば、hiddenを経由しなくても動的に値を変化させられる。
hiddenの方がコントロールを経由するので直感的かもしれんが、
無駄なhiddenを作る必要が無かったりするので。

248 名前:216 mailto:sage [2007/10/28(日) 16:18:54 ID:???]
>>247
せっかくヒントをいただいたので自分で調べようと思っていたのですが
ご丁寧にありがとうございます。
<asp:Parameter>
というのはGUIで作成するところで言う
パラメータソースが「None」のものですね。
Noneてどういう時に使うのかと思っていました。
こちらを組み込んだところ無事動作が確認できました。
ありがとうございました。


249 名前:nobodyさん mailto:sage [2007/10/29(月) 00:16:00 ID:???]
ASP.NETの勉強サイト、またはTips集のサイトを教えてください!!!

250 名前:nobodyさん mailto:sage [2007/10/29(月) 00:54:42 ID:???]
>>249
Tips集というかサンプル集
ttp://www.friendlysw.com/knowhow/knowhow.asp
ここのASP.NETサンプル
とか。

勉強サイトについては聞き方として漠然としてよろしくないと思います。
ttp://www.google.co.jp/search?hl=ja&q=ASP+%E8%A7%A3%E8%AA%AC&lr=




251 名前:nobodyさん mailto:sage [2007/10/29(月) 01:47:16 ID:???]
>>249
ほとんど分からないのなら
一通りの機能には触るので>>2のMicrosoft ASP.NET
クイック スタート チュートリアルを最初の項目から順
にやっていくといいよ。

ただ、>>2のリンクはasp.net 1.1版なので2.0の場合は
web上では公開されて無いので「ASP.NET 2.0 クイック
スタートチュートリアル」をインストールしてみるといい。

最低限このクイック スタート チュートリアルの内容が
全て分かって無いとTips集なんか見ても理解できないかも。

252 名前:nobodyさん mailto:sage [2007/10/30(火) 12:03:08 ID:???]
>>250-251
ありがとう。

253 名前:nobodyさん [2007/10/31(水) 06:14:37 ID:Ln67m40J]
テキストボックスに入力されている文字列が数値かどうか判断するために
ReularExpressionValidatorを利用しています。
VaridationExpressionプロパティに「^[0-9]+$」を設定したのですが
半角スペースをのみを入力した場合IsValidateがTrueを返してしまいます。
半角スペースが入力された場合の対応としてはどういう対処が必要でしょうか?


254 名前:nobodyさん [2007/10/31(水) 08:47:21 ID:KCIK9HQ4]
SQLServer2005への接続文字列で
DateSource:サーバー名\SQLEXPRESS
とSQLEXPRESSを付けないと接続できないけどこれは変更できるのでしょうか?
それともEXPRESS Editionを使用しているからでしょうか?

255 名前:nobodyさん mailto:sage [2007/10/31(水) 10:48:10 ID:???]
>>254
DBMSのインストール時に名前付インスタンスにしてしまったら無理
既定のインスタンスでインストールすればインスタンス名無しでいける
Books On Lineをインストール前に入手して読めばわかることなんだけどね

256 名前:nobodyさん mailto:sage [2007/10/31(水) 12:52:23 ID:???]
>>253
function RegularExpressionValidatorEvaluateIsValid(val) {
var value = ValidatorGetValue(val.controltovalidate);
if (ValidatorTrim(value).length == 0)
return true;
var rx = new RegExp(val.validationexpression);
var matches = rx.exec(value);
return (matches != null && value == matches[0]);
}
function ValidatorTrim(s) {
var m = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
return (m == null) ? "" : m[1];
}
上から分かるように、Validatorはスペースのみと入力なしを区別してないので、
ASP.NET側の処理もTrimするなりで合わせとくとか、CustomValidator(ValidateEmptyText="True")で
自作するとか、Javascriptで同じfunction名で処理を上書きして書き換えちゃうとか色々。

>>254
ASP.NETと関係ないし。
www.microsoft.com/japan/msdn/sqlserver/express/ssesecurity.aspx
こことか参考にして理解した上で好きなようにしてください。


257 名前:nobodyさん [2007/10/31(水) 14:35:49 ID:KCIK9HQ4]
>>255
勉強になりました。

258 名前:nobodyさん mailto:sage [2007/11/04(日) 02:42:02 ID:???]
gridviewのrowを編集モードにして、値を入力する際に、
Javascriptを使用して、winodw.openで子ウィンドウを開いて、
そこから値を選択し、親windowの編集モード中のrow内のtextbox1に、
子Windowsで取得した値を入れたいのですが
detailviewには下記のようにして値を直接入れられるのですが、

−子windowで値選択時のコード−
Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged

Dim str As String = GridView1.SelectedRow.Cells(1).Text

Dim strScript As New System.Text.StringBuilder
strScript.Append("<script language=javascript>")
strScript.Append("window.opener.document.form1.DetailsView1$TextBox1.value = " & str & ";")
strScript.Append("</script>")

RegisterStartupScript("window", strScript.ToString)

End Sub

gridview内のtextboxに入れようとすると
strScript.Append("window.opener.document.form1.GridView1$ctl02$TextBox1 = " & str & ";")
というように編集中のrow数を指定すれば入れられるのですが、
これはどうかと思い、別方法を考え
親側のform1内にhiddenコントロールを配置し、そこに値を渡してポストバックして、
page_loadでそのhiddenコントロールの値を編集中のrowのtextbox1に渡すことを考えたのですが
編集中のrow内のtextbox1への値の入れ方が分かりません。
page_load内にどのように書けば編集中のrow内のコントロールに値を渡せるでしょうか?


259 名前:nobodyさん mailto:sage [2007/11/04(日) 18:41:36 ID:???]
今手元に本がないので曖昧なのですが、
「Sessionには、〜と、シリアル化できるオブジェクト(?)を渡す事ができる」
と書いてあったと思います。
シリアル化とはどういう意味なのでしょうか??

あとエラー処理で
「エラーは多数の行のコードをtry,catchで囲むのではなく、エラーの起きる可能性のある
行を1行ごとにtry,catchで囲むのが良い」
と書いてあったように思います。
もし、1行ごとに囲むならば、Exceptionの詳しい内容を調べる必要があると思いますが、
Exception一覧、というが載っている資料もしくはURLがありましたら教えてください。

よろしくお願いします。

260 名前:nobodyさん mailto:sage [2007/11/04(日) 20:56:58 ID:???]
>>258
TemplateFieldを使って無いのならば、例外処理とか除いているが
CType(gridView.Rows(gridView.EditIndex).Cells.Item(1).Controls(0), TextBox).Text = "aaa"

>>strScript.Append("window.opener.document.form1.GridView1$ctl02$TextBox1 = " & str & ";")
>>というように編集中のrow数を指定すれば入れられるのですが、
>>これはどうかと思い、別方法を考え
row数を指定するんではなくて、
gridView.Rows(gridView.EditIndex).Cells.Item(1).Controls(0).ClientID
で現在編集中の行のHTML上のテキストボックスの名前が取得できるので
この値を利用してJavascriptを作り出せばhiddenコントロールもいらないと思う。

>>259
>>シリアル化とはどういう意味なのでしょうか??
e-words.jp/w/E382B7E383AAE382A2E383A9E382A4E382BA.html
.NETでなら、簡単に言えばクラスがISerializableインターフェイスを実装しているか。

例)DataTable
msdn2.microsoft.com/ja-jp/library/system.data.datatable(VS.80).aspx
msdn2.microsoft.com/ja-jp/library/system.data.datatable_members(VS.80).aspx


ちなみに、セッションがInProcモード なら、シリアライズ不可能なオブジェクトも
セッション変数に格納できます。

>>Exception一覧、というが載っている資料もしくはURLがありましたら教えてください。
例外が発生する可能性のあるクラスのメソッドをMSDNで調べてください。

例)System.IO.File.Delete メソッド
msdn2.microsoft.com/ja-jp/library/system.io.file.delete(VS.80).aspx




261 名前:nobodyさん mailto:sage [2007/11/04(日) 21:21:19 ID:???]
>.NETでなら、簡単に言えばクラスがISerializableインターフェイスを実装しているか。
違うだろ。


262 名前:nobodyさん mailto:sage [2007/11/04(日) 22:13:07 ID:???]
>>261
今まで大した質問にも答えてもいないのにこう言った
揚げ足とりにだけ必死にならずに説明すりゃいいのに。
ISerializableが必須で無い理由など詳しく説明してあげてくださいな。


263 名前:nobodyさん mailto:sage [2007/11/04(日) 22:20:10 ID:???]
>>260
ありがとうございます
ISerializableインターフェイスですか!
セッションInProcモード初耳でした

エラー処理は一つ毎にExceptionを書くと面倒なことになりそうですね
みなさん(というか実際の業務では)どう書いているんだろう・・・

264 名前:nobodyさん mailto:sage [2007/11/04(日) 23:02:03 ID:???]
ISerializableはシリアライズ処理のカスタマイズ用インターフェイス。
シリアライズ可能であることを示すのはSerializable属性。
ISerializableを実装しててもSerializable属性がついてなきゃシリアライズ不可。
ISerializableを実装して無くてもSerializable属性がついてればシリアライズ可。
独自のシリアライズ処理を行いたい場合のみISerializableを実装する。
これで満足か?



265 名前:nobodyさん mailto:sage [2007/11/04(日) 23:04:46 ID:???]
>今まで大した質問にも答えてもいないのにこう言った
>揚げ足とりにだけ必死にならずに説明すりゃいいのに。

必死て、ていうか揚げ足じゃなくて間違ってんだろうに。
まあ俺は困らんけど>>259は困るんじゃないのか?


266 名前:nobodyさん mailto:sage [2007/11/04(日) 23:10:40 ID:???]
>ISerializableを実装して無くてもSerializable属性がついてればシリアライズ可。
あと、これはメンバが全部シリアライズ可能な場合など制限はある。
あと基底でISerializableを実装してる場合は派生でオーバーライドしなきゃならない場合もある。

あとInProcだと確かにシリアライズできなくてもいいんだが、
なんというか後々のことを考えるとシリアライズできるもののみにしといた方がいい。


267 名前:nobodyさん mailto:sage [2007/11/04(日) 23:12:34 ID:???]
>>265
いやだから揚げ足だろうが実際間違ってようが
間違ってるって言いたいならそれを書けよって言われてるんだろ?
「違うだろ」ってだけ書いてもなんの解決にもならないから。

261で違うだろっていって、そのままそこに何が間違ってるか回とけば良かったんだよ。
言われてから後発でこれでどうだって言うぐらいなら最初から言えよって話なんじゃないの。

なんにせよ無駄な時間だろ?
>>261の時点で理由も書いてりゃ>>262自体存在しねえんだから。

268 名前:nobodyさん mailto:sage [2007/11/04(日) 23:32:13 ID:???]
>>264
満足です。
まぁ、本当は「ISerializableを実装して無くてもSerializable属性が
ついてればシリアライズ可。」の揚げ足取ろうとしてたら、>>266
多分、>>261?が補足していたので消したけどね。

>>265
個人的にはSerializable属性を付ければシリアライズされますと言うのは
>>266のように単純では無い事もあるので、>>259がここら辺をあまり理解
していない物として、ISerializableで検索でもしてオブジェクトをシリアライズ
する過程を調べてもらおうと思ったんだがね。
だから、ISerializableインターフェイスを実装しているものが、セッションに
入れられますと言ったつもりは無いんだがまぁ、間違ってるといわれれば
仕方ない文章なのはすまない。

このスレ盛り上げようと、ほとんどの質問に答えてたのだが、もう少し勉強
しないと駄目だなw


269 名前:nobodyさん mailto:sage [2007/11/05(月) 00:02:19 ID:???]
>>265
意味不明。俺にとっては>>261の方がただの横槍なのか、
指摘してるのか分からんだけ>>259が困ると思うけどね。

そもそも掲示板なんて間違いを教えられる可能性もある事が
前提なんだから自分で調べるのは基本だろ。

270 名前:nobodyさん mailto:sage [2007/11/05(月) 00:36:53 ID:???]
そうか?
違うだろ、があるのと
何も無いんじゃ、
これから調べるにしても少なくともないより間違いにくいと俺は思うけど。




271 名前:nobodyさん mailto:sage [2007/11/05(月) 00:38:04 ID:???]
>>266のように単純では無い事もあるので、>>259がここら辺をあまり理解
していない物として、ISerializableで検索でもしてオブジェクトをシリアライズ
する過程を調べてもらおうと思ったんだがね。

こういうのは、お前が思ってるだけで特に分からないヤツには明確に書かてあげないと意図伝わらないだろ。

272 名前:nobodyさん mailto:sage [2007/11/05(月) 00:40:15 ID:???]
>>265>>262の後半のつまり説明しろに対して書いたんじゃなくて
余計なこというな、に見えた部分に対して書いたんだすまん。


273 名前:nobodyさん mailto:sage [2007/11/05(月) 00:46:15 ID:???]
今は大丈夫っぽいけど昔はシリアライズからみは間違った解説がいっぱいあったからな〜
XmlシリアライズするためにSerializable属性が必要とかISerializable実装するとか
Serializable属性ついてるのにXMLシリアライズできないバグがあるとか
上で出てきた話とかいろいろいろいろw


274 名前:253 mailto:sage [2007/11/05(月) 03:13:44 ID:???]
>>256
ASP.NET側とJavaScript側で動作が違うので
CustomValidatorを使用して自作することにします。
ありがとうございました。

275 名前:nobodyさん mailto:sage [2007/11/05(月) 08:54:54 ID:???]
>>270
ないない
そもそも、「これから調べるにしても少なくともないより間違いにくい」とか
思ってる奴なら詳細を説明しようとするもんだ。

276 名前:nobodyさん mailto:sage [2007/11/06(火) 06:57:01 ID:???]
これで満足か? きめぇwwwwwwwwwwwww

277 名前:nobodyさん mailto:sage [2007/11/06(火) 18:19:56 ID:???]
既出かもしれませんが、とりあえずこのスレのはじめからは読みました。

PageA⇒PageB⇒PageA' と遷移したとき、PageA'に戻ったときに、
PageAの状態をそっくりそのまま復元する方法は、はやりViewStateを
Sessionに保存するのが一番いい方法でしょうか?
いろいろ探して d.hatena.ne.jp/entlib/20070221/1172058201 をみつけたのですが、
どうもASP.NET Ajaxを使用しているせいか、
「このページ状態は無効です。壊れている可能性があります」
とエラーが表示されてしまいます。
ヒントとなるようなソースもしくはサイトをご存知でしたらご教授いただけると助かります。

また、個別のコントロールをSessionに保存する方法でも結構です。

どうぞよろしくお願いします。

278 名前:nobodyさん [2007/11/06(火) 18:25:38 ID:zErdHZrx]
↑環境を記述するのを忘れていました。
開発環境
 WindowsXP Pro
 VS2005Pro
 C#
 ASP.NET Ajax
です。

初代VS.NETからサポートに入っていますが、今だによく分かっていませんorz

279 名前:nobodyさん [2007/11/09(金) 08:54:04 ID:AOsg/er1]
VS2005のASP.NET(VB.NET)でWebページを作っています。
デフォルトの設定だと半角の「\」(円マーク)が出ないので、globalizationをShift_jisにしたのですが、
今度は全角の「〜」(波線)が?になってしまいます。
ASPで作っていたときは特に表立った問題は起きなかったのですが、ASP.NET下で両立させる
設定はできないのでしょうか?
OSはWinXPと2K、ブラウザはIE6です。
パッチ類は一通り当たっている状態です。


280 名前:nobodyさん mailto:sage [2007/11/09(金) 23:45:36 ID:???]
¥



281 名前:nobodyさん [2007/11/10(土) 21:52:12 ID:IaYZNmi9]
〜(波ダッシュ)は化けないでしょ。?全角チルダ(XPや2Kでは下がって上がる波の形)は駄目だけど。
UTF-8でも5Cをバックスラッシュではなく円マークで表示する日本語フォントにすればいいかもね。

文字コード関係の知識がないとこれからも困るだろうに。

282 名前:nobodyさん mailto:sage [2007/11/11(日) 10:03:08 ID:???]
>>281
レスどうもです。
それが、JISだと「〜(IMEをOnにして~)」を入れると?で表示されるんです。
また、UTFにすると表示はされますが、ここで見えるようなきれいな形の〜ではなく、汚い
フォントの全角チルダ?になっているようです。
どこかで表示フォントを指定する必要があるのでしょうか?
同一Webサーバー内で動いているASPの方はそんなことお構いなしで表示できているのに、
.NETだとダメなのでサーバーに依存しているわけではないというのは判るのですが・・・。
ASP.NETは始めたばかりで、いろんなことが便利に使える反面、複雑で判らないことが多く
かなり苦労してます。orz


283 名前:nobodyさん mailto:sage [2007/11/11(日) 12:06:32 ID:???]
ブラウザの言語設定がおかしいとかじゃねーの?

284 名前:279 mailto:sage [2007/11/12(月) 13:14:42 ID:???]
「〜」が「?」になるのはOracleの問題でした。
あまりかしこいやりかたではありませんが、globalizationをShift_jisにして\が出るようにし、
DBへの接続をODP.NETからOLEDBに変更して対応させました。
コメントしてくれた方々、ありがとうございました。


285 名前:nobodyさん [2007/11/13(火) 23:29:46 ID:JHc7eDB0]
Response.Cookiesでクッキーの値を取得できますが
サーバサイドでクッキーの値を扱うということは
クッキーの内容を全てサーバに送信してるってこと?

286 名前:nobodyさん mailto:sage [2007/11/13(火) 23:41:38 ID:???]
そうです。

287 名前:nobodyさん mailto:sage [2007/11/14(水) 01:18:40 ID:???]
微妙に不思議な表現だなw


288 名前:nobodyさん mailto:sage [2007/11/14(水) 17:35:47 ID:???]
GridViewにSQLserverからSELECTしてきたデータをバインドしたいです。
テキストボックスの値をWHERE句に読み込んで…という形なのですが、
SQLcommand.Parameters.AddWithValue("@hage",hage)
というようにすると、このあとデータセットで返すことが出来ず、バインドできません。
普通にテーブルアダプタ作ってFillする方法だと、今度はAddWithValueが使えずセキュアになりません。

一応、データセットデザイナだか何だかのGUIウィザードで
パラメータ有のバインドが出来ましたが、
コード上でどうにかできないでしょうか。

SQLCeCommandにはResultSetという
バインド可能なオブジェクトを返せるのがあるようなのですが…

289 名前:nobodyさん [2007/11/14(水) 17:54:37 ID:jLRgJntu]
VS2005のASP.NET(VB.NET)を使っています。

databindでラジオボタンが複数選択できてしまうので
単一選択ができるカスタムコントロールを作ろうとしています。

www.microsoft.com/japan/msdn/asp.net/tips/CustomControl/

この通りにやって、サンプルのコードをコピペすると、
Imports System.Web.UIが見つからない、というエラーが起こります。
新規のプロジェクト作成時のパスは今のアプリケーションルートの下で
いいのでしょうか?

290 名前:nobodyさん [2007/11/14(水) 18:40:57 ID:jLRgJntu]
>>289で書きこんだものです。
単純に参照設定ができてなかったようです。
追加で参照設定をしたところ読み込めました。



291 名前:nobodyさん mailto:sage [2007/11/14(水) 21:36:10 ID:???]
.NETでお絵かき掲示板を作ろうと思っています。
お絵かき部分のJavascriptは検索していくつか候補があるんですが、
その結果をどうすれば反映できるのかが分かりません。
Javascriptの内部で画像として保存、それからリンクを張るとかだとUI的に面倒なので
Canvasに絵を描く、コメントを打ち込む→投稿ボタンを押す
だけで一気に画像の保存からコメントの投稿まで終わらせたいと思っています。
が、コメントはテキストボックスにいれておけば、ボタン押下でPOSTされてきますが
JavaScriptのCanvasに描かれた絵の部分は一体どこから取得すればいいんでしょう?
そもそも絵のデータは一体どこに保持されているんでしょう。

292 名前:nobodyさん mailto:sage [2007/11/14(水) 21:38:05 ID:???]
方法として2種類考えています。
SVGのデータとして結果をDBに格納してそれを表示時に再反映する方法。
投稿の時点で画像としてサーバに保存し、そこにリンクを張る方法。
別にどちらでも構わないんですが、どちらの方が簡単に実装できそうでしょう?


293 名前:nobodyさん mailto:sage [2007/11/29(木) 09:52:52 ID:???]
GridViewの条件検索でDropDownListを使っています。
静的項目として「すべて」という項目を作り、
AppendDataBoundItems=trueにしています。
SqlDataSourceのSQL文のWHEREの対象句が文字列であれば
例:「…WHERE (Book like @Book)」として項目「すべて」のValueを「%」に
しておけば、選択されたらすべてが表示できるのですが
以下のように、対象句がIntの場合

SELECT ID, Book FROM tbl_Book WHRERE (ID = @ID)

DropDownListで「すべて」が選択された場合にすべてを表示
させる動きにするにはどのようにしたらいいのでしょうか?
使用しているデータベースはSQLSERVER2005EXPRESSです

294 名前:nobodyさん [2007/11/29(木) 17:46:04 ID:rMbVmK8t]
SelectionChanged かなにかのイベントで
場合分けしたらいいんじゃないのかな。

295 名前:nobodyさん [2007/12/04(火) 14:38:47 ID:l2Tev5nw]
ASP.NETで画面をHTMLで作成する時、Labelがずれちゃったりテーブルの高さが
おかしくなったりするんですけど、これってどう対処すればいいですかね?
Widthを調整したり、全角と半角で微調整ってのは一応わかってるんだけど他に何か
うまいやり方ってあるかな?

296 名前:nobodyさん [2007/12/04(火) 18:19:09 ID:l2Tev5nw]
295です。
画面設計についてはVisualWebDeveroperのヘルプに書いてありました。
ネットで検索するよりヘルプの方が情報量多いね。盲点だった。

297 名前:122x218x24x97.ap122.ftth.ucom.ne.jpfieojfefe [2007/12/05(水) 11:39:13 ID:bGekTFEd]
e

298 名前:ヘルプ mailto:age [2007/12/07(金) 00:22:59 ID:???]
誰かわかる方がいらしたら教えてください。
ASPを使ってネットワークフォルダのファイルを参照したいのですが、うまくいきません。
認証はwindowモードでユーザ偽装をおこない、iiSの統合windows認証のユーザに偽装します。
そこでエクスプローラで
\\マシン名\フォルダ名だと参照できるのに同じユーザでASPにてファイルを参照しようとすると権限にてはじかれます。
どなたかわかりましたらお願いします。

299 名前:nobodyさん mailto:sage [2007/12/08(土) 11:13:53 ID:???]
ふらっとで質問したのですが、こちらで聞いた方が良いと誘導されてきました。
あるプロトコルでチャットに接続し、ユーザはIEの画面を通して発言したり
他者の発言を取得して画面を更新したりするプログラムを作りたいと思っています。
以下のような構造になるのかなと考えています。

【ユーザ】←HTTP→【画面側プログラム@】←なんらかの方法→【プログラムA】←→インターネット
@:
ASPで、他者の発言の取得はn秒ごとにポーリングを行う。
(サーバプッシュ型にできればなお良い)
A:
EXEにしてサービス化?ともかく常時起動しており、チャットには繋がりっぱなしにする。
@の状態には依存しない。
ASPにして@と同化させると、ユーザが画面を開くたびにインスタンスが新しくなってしまうのと
ユーザが画面を開かなければインスタンスを作れないので分ける必要がある(と思っている)

そこでよく分からないんですが、まず、IISの起動と終了のイベントを拾って
プログラムを動かすことができるのでしょうか。
可能なら、@とAを一緒くたにして、IIS起動でチャット接続して、その状態をstaticメンバにして
全インスタンスで共有し、終了で切断するということでASP一本にできると思ってます。
これは可能でしょうか。

もう一つ、分ける場合には@とAで情報のやりとりをする必要があります。
Aでインタフェースを提供し、@はそれを呼び出すだけという形にしたいです。
@から見たときに利用を簡単にしたいので、できればWebサービスとしてインタフェースを
提供できないかなと思うのですが、AがASPじゃなく普通のEXEの時に、AでWebサービスを
実装するにはどのようにすればいいのでしょうか。
(AがASPなら、IISが良きに計らってくれますが…)
また、Webサービスが無理ならどういう方法で通信するのがベターでしょうか。プロセス間通信とか?

妄想段階なので曖昧な点が多いのですが、アドバイスをいただければ幸いです。
よろしくお願いします。

300 名前:nobodyさん mailto:sage [2007/12/08(土) 22:03:20 ID:???]
@のApplication_StartでAの処理開始すりゃいいんじゃねーの普通は。




301 名前:nobodyさん mailto:sage [2007/12/08(土) 22:20:28 ID:???]
ありがとうございます。
ちょっと確認させてください。
Application_Startは、IIS起動後最初のユーザがページにアクセスして、
一つ目のインスタンスを作る時に発生。
Application_Endはすべてのセッションが切断された時に発生。
という認識であってるでしょうか。
できれば、IISからWebサイトを起動した時と停止した時にイベントを拾いたいのですが、
そういうイベントはありませんでしょうか。


302 名前:nobodyさん [2007/12/08(土) 23:10:32 ID:qOs8ePBr]
今日からASP.net始めました。よろしくお願いしますw
すみません。厳密にはVisual Studio 2005の使い方になってしまうかもしれませんが……。

ASP.netで使用中のデータベースの内容を見ようとしたのですが、サーバーエクスプローラの「データ接続」から.mdfファイルを開く(データベースに接続する)ことが出来ません。
「ユーザーの既定データベースを開けません。 ログインに失敗しました。
ユーザー 'hostname\username' はログインできませんでした。」
というダイアログが表示されます。
接続文字列内でAttachDbFilenameでファイル名を指定しUser Instance=Trueとして接続すると、こういう使い方は出来ないのでしょうか?

303 名前:nobodyさん mailto:sage [2007/12/08(土) 23:12:09 ID:???]
一つ目のインスタンスってなんのこと?
Application_Endはアプリケーションがシャットダウンされるとき。
通常はユーザのアクセスが一定時間無かったとき。
サイト起動時ってのはASP.NET側ではない(まだ動いてもいないから)

サイト起動時にやらないといけない理由があまり見当たらないんだが…


304 名前:302 mailto:sage [2007/12/08(土) 23:12:38 ID:???]
追伸です。
まだSelect文しか流してはいませんが、ASP.net側ではとりあえず接続は出来ているようです
>問題のデータベース

305 名前:nobodyさん mailto:sage [2007/12/08(土) 23:14:08 ID:???]
>>302ASP.NETで使用中とは、IISで運用中ってことかい?
IISで動作中は、例えばIIS6だとNETWORK SERVICEユーザが使用中だから、
User Instance=Trueでは使えないはず。


306 名前:nobodyさん mailto:sage [2007/12/08(土) 23:23:50 ID:???]
>>303
ユーザが画面を開いていないときでも、チャットには繋げっぱなしにしたいのです…。
とりあえずWebサーバ起動時に繋げにいって、チャットの書き込みをサーバのログに吐く。
ユーザは必要な時だけWebサーバにアクセスするという形で。

自分だけが使うものなので、最悪、起動時は必ず画面を開いてApplication_Startを
呼んでやるという形でもいいのですが、終了時はApplication_Endでチャット切断処理を
やってしまうと、ユーザからのアクセスが無いときに勝手に接続が切れてしまうので…。
かといってどこかに明示的な切断を入れないと、アプリ終了後もタイムアウトするまで
チャットに居座りっぱなしになる行儀の悪いプログラムになるなあと。

ユーザの状態に依存しない開始と終了イベントを取れれば、
ユーザは必要な時だけWebサーバにアクセスし、ユーザはサーバ側のチャットへの
接続状態を気にしなくて済むようになり、サーバ側もユーザの接続状態を
考えなくて済むようになると思いまして。

画面側にはWebサービスとして、チャットで発言するメソッドと、画面更新のために
最新のチャットログを取得するメソッドくらいを提供してやればいいかなと。

307 名前:302 mailto:sage [2007/12/08(土) 23:31:32 ID:???]
>>305
早速のお返事どもっす。
こーゆー使い方したかったらちゃんとSQL Server動かせってコトなんですね
……まぁ、「AttachDbFilenameでファイル名を指定しUser Instance=Trueとして接続」するのが「ちゃんとしていない」ってコトはないんでしょうが……。
要はPHPのSQLiteとかJavaのHSQLDB(のスタンドアロンモード)と考えればOKかな?
手軽には使えるけど、ちょっとイヂりたいとかの場合は不便ですなぁ。

308 名前:nobodyさん mailto:sage [2007/12/09(日) 00:53:07 ID:???]
んーUser Instance=Falseじゃだめなのけ?


309 名前:nobodyさん mailto:sage [2007/12/09(日) 00:57:02 ID:???]
>>306
ようわからん、サイト起動時に接続するんじゃ
もはや切断なんて関係ないレベルですでに十分行儀悪いと思うが。
どうしてもそんな風にしたいんならサービス作るしかないんじゃない?


310 名前:nobodyさん mailto:sage [2007/12/09(日) 05:00:17 ID:???]
むぅ
ちなみにEXEで作ってサービス化した場合、その中でWebサービスとして
メソッドを提供することは可能でしょうか?
それとも、WebサービスにしたいのならASPで作らないとダメでしょうか。



311 名前:302 mailto:sage [2007/12/09(日) 09:59:21 ID:???]
>>308
ダメみたいですねー。今度は本体(ASP.net側)でエラーが出ます
>User Instance=False

312 名前:nobodyさん mailto:sage [2007/12/09(日) 18:17:59 ID:???]
Application_Endが呼ばれた後って、Applicationオブジェクトに格納していた
オブジェクトはどうなります?
要するに、ユーザがしばらくアクセスしなかったら、破棄されたりします?

313 名前:nobodyさん mailto:sage [2007/12/09(日) 20:29:55 ID:???]
Application_Endが呼ばれるってことはそういうことだ。
まあtimeoutを伸ばすとか終了させないようにする手もあるが、
普通は必要ない。

314 名前:nobodyさん mailto:sage [2007/12/09(日) 20:37:11 ID:???]
んー、ようするに、ASPでユーザの状態によらないオブジェクトの維持は無理ってことですかね?
例えば、今日一日のアクセス数を返すようなWebサービスは、変数をファイルに
書き出して保持しないと維持できない訳ですよね?
一番生存期間が長い(と思う)Applicationも、ユーザのタイムアウトによる
Application_Endで破棄されるみたいですし。

315 名前:nobodyさん mailto:sage [2007/12/09(日) 22:29:07 ID:???]
だからリサイクルの設定をみんなオフにする手はあるが、
どっちにしても保証はされてないから結局Endで保存、
Startで読み込みとかは必要になる。


316 名前:nobodyさん mailto:sage [2007/12/09(日) 22:30:01 ID:???]
あ、いや、Endで保存、Startで読み込みは微妙だな、うまくいかない可能性がある。


317 名前:302 mailto:sage [2007/12/09(日) 23:04:34 ID:???]
たびたび申し訳ないっす。
TableAdapterを試そうとして少々苦戦しています。
VisualStudioでのビルドは通るのに、実行時に型または「名前空間名 'hogeTableAdapters' が見つかりませんでした」って出るのはどうしてでしょう?

……TableAdapter自体もよーわからんっす。Fillした後、どうやってデータを取り出せばいいんだろう?
「ASP.net 2.0 実戦プログラミング入門」という本を参考にしていますが、あまりいい本ではありませんね。
ちょっと後悔。

318 名前:302 [2007/12/10(月) 10:37:10 ID:aKqH/kSM]
>>317
あ、申し訳ありません。age忘れてましたね。失礼。

319 名前:302 mailto:sage [2007/12/10(月) 18:53:27 ID:???]
自己解決。↓が足りなかったらしい
www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5228&forum=7
VisualStudioで面倒見てくれるときとくれない時があるのね。
引き続きTableAdapterに挑戦中……。

320 名前:nobodyさん mailto:sage [2007/12/10(月) 22:35:57 ID:???]
おい、PHPスレを荒らしに来てるやつ自重しろクズ



321 名前:302 [2007/12/11(火) 17:02:22 ID:fZiANqi9]
スレ汚しですみません。
TableAdapterの方はなんとなく判ってきましたが、わき道に逸れてGridView+FormViewなんてモノに手を出してます
なんとかマスターメンテらしきモノを作るところまでは出来たのですが、FormView側で登録・更新・削除した結果をGirdViewに表示させることが出来ません。
ググった結果「GridViewのEnableViewStateってプロパティをFlaseにすればOK」という情報までは取得できましたが、この設定にはなにか副作用があるのでしょうか?
単に「初めての表示/明示的な読み込みの結果を保持しておきたい」という目的以外にTrueにする意味はあるのですか?

322 名前:nobodyさん [2007/12/13(木) 00:41:26 ID:6Y2No+8T]
>>306
コメットを使うことが出来ればやりたいことは実現できそう?

323 名前:nobodyさん mailto:sage [2007/12/13(木) 22:05:12 ID:???]
どっからコメットが…


324 名前:nobodyさん mailto:sage [2007/12/15(土) 12:37:07 ID:???]
DBからSELECTしてきたDataSet等に、
さらにSQLを投げてDataSetを作成することは可能ですか?

325 名前:nobodyさん mailto:sage [2007/12/15(土) 13:24:29 ID:???]
>>324=302

326 名前:nobodyさん mailto:sage [2007/12/16(日) 01:51:04 ID:???]
会社の環境はVS2005なのですが、ちゃんと
aspx
aspx.cs
designer.cs
とワンセットで表示されるのですが、家の環境はWebDevelopperで
designer.csがソリューションエクスプローラに表示されません。
aspxなどの場所にdesigner.csファイルもありません。
これはどうやって表示させるのでしょうか?
WebDevelopperはソリューションファイルやプロジェクトファイルも無いんですよ(^^;
なので、いつもファイルをダブルクリックして立ち上げるのではなく
WebDevelopperを開いて、スターと画面から最近実行したソリューションの一覧から選択してる・・・


327 名前:nobodyさん [2007/12/16(日) 19:34:30 ID:IvdqqwNS]
教えてください。

Repeaterにユーザコントロールファイルをセットして実行し、
ascx.csでRepeater.DataSourceに入っているデータレコードを取得したいのですが
そんな事は可能でしょうか?

this.rep.DataSource = dataTable;
this.rep.ItemTemplate = Page.LoadTemplate("Test.ascx");
this.rep.DataBind();

Test.ascx.csでdataTableのレコードを取得したい。
ascxでは
<%# DataBinder.Eval(((RepeaterItem)Container).DataItem, "name") %>
で取得可能なのですが、これをascx.csでやりたい。
何でかと言うと、この値によって処理を変更したいからです。

お願いしますm(_ _)m

328 名前:nobodyさん mailto:sage [2007/12/17(月) 03:20:00 ID:???]
>>324
ds.table.select("id=1")でDataRow[]が取り出せたような…
これでデータセットに対するselect文は実現出来ない?

329 名前:nobodyさん mailto:sage [2007/12/17(月) 18:30:50 ID:???]
>>328
ありがとうございます。
発端というのが、SQL文が長くなってしまったので、
DataSetを一時テーブル代わりに、小分けにして実行できないかという
安直な思いつきだったのです。
DataSetを2つ作ってから要素を取り出して、
疑似LEFT OUTER JOINとかやってみたのですが余計に大変だなとw
そんな訳で…申し訳ありません。きちんと背景から書くべきでした。

330 名前:nobodyさん [2007/12/19(水) 01:40:10 ID:kIBGOFX3]
現在のページのファイル名を取得できる
プロパティとかありませんか?
用途としては自分自身のページにパラメータをつけて
再度呼び出し、Request.QueryString()でその値を
取り出すためです。



331 名前:nobodyさん [2007/12/28(金) 00:08:34 ID:EfHkVobu]
VWD2005(VB.NET)を使ってます。
javascriptでサブウインドウを作って、閉じる処理をしたいのですが
サブウインドウが閉じない場合があるので回避法を教えて下さい。

awin=window.open('a.aspx', 'a');
awin.close();
この場合うまく閉じる。

awin=window.open('a.aspx', 'a');
ポストバック発生
awin.close();
サブウインドウ閉じない。



332 名前:nobodyさん mailto:sage [2007/12/28(金) 20:57:22 ID:???]
>>330
俺は定数で宣言してる。

>>331
a.aspx内にウインドウを閉じるスクリプトを書き、
なんらかのイベントを受け取らせて実行させればいいんじゃね。
つか、ウインドウを開いて何のイベントも発生させず、
しかし、ポストバックを起こして閉じたいなんてどういう用途なんだ。

333 名前:331 mailto:sage [2007/12/28(金) 22:24:13 ID:???]
>332
回答ありがとうございました。
実際のコードは間に種々の処理がありますが、最小限の再現コードを
書いただけです。

とりあえず、解決しました。
a.aspxからopenerを一定間隔で監視し見つからなければ自身を
閉じることで実現しました。
openerが遷移した際は、opnerにhiddenを埋め込んでおきa.aspx側から
監視することで遷移を判断しました。



334 名前:nobodyさん mailto:sage [2007/12/28(金) 22:29:01 ID:???]
Request.CurrentExecutionFilePath 辺りとか?


335 名前:330 mailto:sage [2007/12/30(日) 22:06:04 ID:???]
Request.CurrentExecutionFilePathと
System.IO.Path.GetFileNameを使って
取り出せました。
ありがとうございました。

336 名前:nobodyさん mailto:sage [2008/01/01(火) 21:08:48 ID:???]
しつもんしつもん。

ローカル環境(Web Developer 2005+SQLServer2005)でWebアプリを製作して、
とりあえず動くようになったのでサーバーにアップしたのです。

あ、サーバーはファーストサーバーのエクスプレス2です。無料のね。

なんとかかんとか設定を終えて、いざ実行!・・・したら、エラーがでるのです。

System.NullReferenceException:オブジェクト参照がオブジェクト インスタンスに設定されていません。

ってね。

ローカル環境では問題なく動作するのに、サーバーにアップするとエラーになるってのは、

どうしてなんでしょうか???




337 名前:nobodyさん mailto:sage [2008/01/01(火) 22:26:23 ID:???]
オブジェクト参照がオブジェクトインスタンスに設定されていないからだろ

338 名前:nobodyさん mailto:sage [2008/01/08(火) 19:46:24 ID:???]
ActiveReportsを64ビット環境でどうにか使えるように出来ないでしょうか?

339 名前:nobodyさん mailto:sage [2008/01/12(土) 16:00:40 ID:???]
>>338
それはサポートに聞いた方が早い質問だ

340 名前:初心者 [2008/01/24(木) 15:18:55 ID:RPd1Q97N]
ASP.NET でRDOとかでSQLサーバーに接続できるのでしょうか?
それともAODだけなのでしょうか?



341 名前:nobodyさん [2008/01/24(木) 15:36:11 ID:7JZT46In]
Hoge.aspxで
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder" Runat="Server">
<asp:Label ID="heading" runat="server"></asp:Label>
</asp:Content>
のようなブロックがあったとして、Hoge.aspx.vbからasp:Labelを取得したいんですが、
どうやればいいのでしょうか?

単純に
Page.FindControl("heading")
では取得出来ないようで・・・

よろしくお願いします。

342 名前:341 [2008/01/24(木) 17:22:36 ID:7JZT46In]
上の件については解決しました。
無理にFindControl使わずに、headingをそのまま使えるみたいですね。

しかし、新たな問題が。
Page.Request.QueryString("param1")
として取得したクエリ文字列に日本語が入っていた場合、
AscW関数で取得した数値が一律65533になってしまいます。
どうにか日本語のまま取得出来ないでしょうか?

よろしくお願いします。

343 名前:341 mailto:sage [2008/01/24(木) 17:50:53 ID:???]
何度もすみません、解決しました。
web.configに
<globalization requestEncoding="Shift_JIS" />
を書くことで日本語で取得できました。

344 名前:nobodyさん [2008/01/24(木) 21:04:09 ID:swcPOcpz]
>>343
目先の結果だけで変更しちゃっていいものなのか?
と、ちょっと思った。

345 名前:341 [2008/01/24(木) 21:23:24 ID:0wPjeug7]
ではどうするのがいいのでしょうか?

346 名前:nobodyさん mailto:sage [2008/01/25(金) 21:27:35 ID:???]
VS2005使っています。マスターページを利用しているaspファイルの
コンテンツに、vbファイル内にて取得したhtml文を出力させたいのですが
どうやったらよいのでしょうか?コードは次のようになります。

■test.aspxの中身

<%@ Page Language="VB" MasterPageFile="~MasterPage.master"
AutoEventWireup="false" CodeFile="test.aspx.vb" Inherits="test" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

?ここに、test.aspx.vbの変数AAAAAに格納されたhtml文を出力するコードを書きたい。?

</asp:Content>


■test.aspx.vbの中身

Partial Class CountMonth Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal Sender As Object, ByVal e As EventArgs) Handles Me.Load
AAAAA="<table><caption>サンプル</caption><tr><td colspan=0 align=center><b>ほげ</b></td></tr></table>"
End Sub

End Class

347 名前:nobodyさん mailto:sage [2008/01/27(日) 12:57:11 ID:???]
>>345
344とは別人ですが,
「考えてShift_JISに変えることで問題を解決させた」なら良いけど,
「Shift_JISに変えてみたら解決した(ように見えた)」なら不安や疑問が残るのは当然。

限定された利用環境でしか通じない(=限定された利用環境では通じる)
ということを理解してるなら問題無いと思う。

345は自分の想定している利用環境を見つめ直してみると良いんじゃない?
自分用アプリだとしでもDB絡みとか考えることは色々あるかも知れない。
文字の符号化の問題はなにかと躓きやすい問題の一つ。

348 名前:nobodyさん mailto:sage [2008/01/27(日) 13:00:53 ID:???]
>>346
変数AAAAAに書かれたコードの安全性を検証できないんじゃないかとか考えたり。

349 名前:nobodyさん mailto:sage [2008/01/28(月) 20:37:23 ID:???]
TreeView のあるノードをクリックしてポストバックした後
さきほどクリックしたノードがハイライトになっているようにしたい。
どのようにすればいいでしょうか。
参考になるサイトありましたらリンク先でもはっていただけると助かります。
よろしくお願いします。

350 名前:nobodyさん [2008/01/31(木) 20:49:43 ID:pr1Jn4LS]
>346 普通に <% =AAAAA %> でいいだろ?



351 名前:nobodyさん [2008/02/01(金) 12:55:47 ID:Ik8bhfAO]
始めたばかりなのですが、質問です。
とりあえずウィザードで作ったページに、_Defaultってクラスが生成されました。
Page_Load()とかに制御が来るのは分かりました。
このインスタンスっていつ削除されますか?
デストラクタを書いたら、起動時に飛んでくるんですけど...;
中でソケット通信していて、終了する時にはCloseしてやりたいのですが、
いつ終了されるか分からなくて...。
宜しくお願いします。

352 名前:nobodyさん mailto:sage [2008/02/01(金) 13:05:10 ID:???]
VB2005にてマスターページを使っている
ページのコントロールを取得、各プロパティを変更したいです。
Me.ControlsをForで回して取ろうとしたところ
マスターページのControlsが取得されてしまいうまくいきませんでした
他に方法はありませんでしょうか?
変更対象が100個くらいあるので・・
1つ1つ変更するのはできれば避けたい所です。
ご教授よろしくお願いします

353 名前:352 mailto:sage [2008/02/01(金) 15:54:44 ID:???]
自己解決。
Master.FindControlで探してきてDirectCastで取ってこれました

354 名前:nobodyさん mailto:sage [2008/02/04(月) 14:54:56 ID:???]
マスタページを使うよりユーザコントロールでなんとかしちゃったほうが
シンプルでメンテしやすい(Javascriptからの扱い等)と思うのは俺だけ?

355 名前:nobodyさん [2008/02/07(木) 10:29:47 ID:WbXuHs4A]
ttp://support.microsoft.com/kb/323290/ja
ここの「サーバーのメモリに任意のオブジェクトをキャッシュする」ってところのプログラムなんですが、
SqlConnectionをcloseしていません。
これは大丈夫なのでしょうか?

356 名前:nobodyさん mailto:sage [2008/02/07(木) 19:17:02 ID:???]
Close以前にOpenがないだろ?
そしてSqlDataAdapterは非接続型だ。
後はわかるよな?

357 名前:nobodyさん mailto:sage [2008/02/09(土) 17:40:07 ID:???]
ASP.NETのセッションIDはどういった単位でユニークになりますでしょうか?
IPアドレスが違えばユニークになると思いますが
それ以外にはたとえばUserAgentが変わってもユニークに
なりますか?

358 名前:nobodyさん mailto:sage [2008/02/09(土) 18:40:06 ID:???]
どのような環境でもユニークになるから気にしなくておk

359 名前:nobodyさん mailto:sage [2008/02/11(月) 01:40:21 ID:???]
>>357
sessionid がクライアントから投げられてこなけりゃ新しく生成される。
だからたとえ同じUAでも別途立ち上げれば別セッションとして扱われる。
UAが投げてるRequest見ると分かりやすいかも。
FiddlerだのWebDevelopmentHelperだので見ると幸せになれるかも知れん。

360 名前:nobodyさん [2008/02/11(月) 10:12:41 ID:8IeW4FxX]
DataAdapter は接続型だろ。
ただ、Fillメソッドの中で Open と Close してるだけ。



361 名前:nobodyさん mailto:sage [2008/02/11(月) 11:40:28 ID:???]
は?

362 名前:nobodyさん mailto:sage [2008/02/14(木) 00:08:37 ID:???]
データアクセスコンポーネントをデザイナツールで作成し、
TableAdapterのGetDataでデータテーブルを取得した後
ObjectDataSourceコントロールを使用せずに、コードでGridViewと連結しました。
この場合のGridViewの複数の列に対して非表示の設定を行いたいのですが
どのようにコーディングすればよいのでしょう?


363 名前:nobodyさん mailto:sage [2008/02/14(木) 00:32:20 ID:???]
DataTableのColumnsの数を調整する

364 名前:nobodyさん mailto:sage [2008/02/15(金) 00:12:20 ID:???]
そうなのか、DataTableで調整するんですか
GridViewの列数をカウントしても0となってるんで悩んでました

365 名前:nobodyさん mailto:sage [2008/02/15(金) 21:57:56 ID:???]
信じてどうする

366 名前:nobodyさん [2008/02/18(月) 18:21:09 ID:p++OLHN+]
ASP.NETで構築したサイトがあるのですが、社内のイントラWebなので
統合Windows認証で認証を行うようにしてあります。
先日、IE6からIE7に切り替えたのですが、上記のサイトに接続する際にユーザ名と
パスワードを確認するダイアログが出るようになりました。
従来どおり、ダイアログが出ないようにするにはブラウザの設定が必要なのでしょうか?
インターネットオプションの信頼済みサイトには上記のサイトが入っています。
IE6では、これを設定すればダイアログが出ないようになりました。


367 名前:nobodyさん mailto:sage [2008/02/18(月) 18:30:11 ID:???]
自己解決しました。
今までは信頼済みサイトにサイトを入れていたのですが、イントラサイトに入れなおして
ログインのオプションを調整したら入れるようになりました。
お騒がせしました。


368 名前:nobodyさん mailto:age [2008/02/19(火) 14:46:13 ID:???]
すみません。質問です。
ASP.NETをはじめたばかりなので、どのコントロールを
使ったらいいかというレベルです。

掲示板みたいに、ログファイルを整理して表示するページを作っているのですが、
どのコントロールを使ったらよいのでしょうか。
DataListを見ると、1行おきに設定できるのは、色だけであり、
フォント関連のタグは指定できません。
Tableも、値を追加することは出来ても、フォント関連のタグは
指定出来ません。

ASP.NETは、デザインで、オブジェクトを配置してプログラムする
スタイルですので、プログラムのループで、オブジェクトを配置というのも
出来ませんよね・・・

369 名前:368 mailto:age [2008/02/19(火) 15:04:42 ID:???]
追加で補足です。
例えば、以下のサイトのサンプルの掲示板では、
書き込む時にログファイルにタグも含めて書き込んでしまい、
データを表示するときに、すべてのデータをLabelに表示する
という形式を取っています。
ttp://aspnet.cguild.com/download.html
ASP.NETの場合は、こういうやり方しかないということなのでしょうか。

私は、2ch.netみたいに、データだけのログファイルがあり、
それを自由にレイアウトしながら表示するというものをしたいのです。
これが、Perlだとすぐにイメージがつかめるのですが、ASP.NETとなると
プログラムの全体概要のイメージが出来ないのです。

それで、どういうコントロールを使ったら良いのかを質問してみました。

370 名前:nobodyさん mailto:sage [2008/02/19(火) 21:10:25 ID:???]
>DataListを見ると、1行おきに設定できるのは、色だけであり、
>フォント関連のタグは指定できません。
DataBoundイベントでも引っこ抜いて、動的に生成すれば大抵のことはできる。
マウスでD&D、ちょいちょいとプロパティ設定で、はい出来上がりではない。

>ASP.NETは、デザインで、オブジェクトを配置してプログラムする
そらホームページビルダーだろw
基本的にデザインビューは、知らない人が保守で見たときに
オブジェクトの相関関係が目で見て分かりやすいってものだと俺は認識してる。
コードで書けばいい。

>データを表示するときに、すべてのデータをLabelに表示する
Labelなんてspanタグだ。"<span> %s <span>"だと思えばいい。

>ASP.NETの場合は、こういうやり方しかないということなのでしょうか。
んな訳ない。好きなように出来る(一部、死ぬほどやり辛いことはあるが)。
ちょっと初心者過ぎる気がするので、本を一冊買って来た方が良いと思う。



371 名前:nobodyさん mailto:sage [2008/02/20(水) 01:53:44 ID:???]
>>370
レスありがとうございます。
> DataBoundイベントでも引っこ抜いて、動的に生成すれば大抵のことはできる。
> マウスでD&D、ちょいちょいとプロパティ設定で、はい出来上がりではない。
なるほど。私がイメージしてたものとは違うということのようですね。
コントロールの使い方について学んでいく必要があります。

> コードで書けばいい。
開発環境を使わずにメモ帳を使ってということですよね?
そっちのスタイルでも書いている方は結構いらっしゃるようですね。

> Labelなんてspanタグだ。"<span> %s <span>"だと思えばいい。
spanで囲むだけだったのですか。
何か特別なオブジェクトに格納するので、あまり長い文字は入れたり
しない方がいいのかなと思ったりしていました。
だったら、あの仕様でも良いですね。

> んな訳ない。好きなように出来る(一部、死ぬほどやり辛いことはあるが)。
> ちょっと初心者過ぎる気がするので、本を一冊買って来た方が良いと思う。
分かりました。書籍を購入して読んでみます。
しかし、ちょっと気になったのですが、ASP.NETなど製品版の場合、PHPやPerlに
比べてネットだと情報量が少ないですよね。。。開発をしようとすると非常に費用が
かさむ世界なのでしょうか。。

372 名前:nobodyさん mailto:sage [2008/02/20(水) 03:13:04 ID:???]
すみません。質問です。
ASP.NETで書くと、それを表示する環境側にあわせたhtmlコードを出力する仕様だと
いうことですが、それは、コントロールを配置した場合に限るのですよね?
コントロールを配置する範囲でうまくいかない場合はstringに自分でタグをいれこんで
それをまとめて出力するとかやる事が多いと思うのですが。
このメリットは、本当に現場で活かされているのか、ちょっと疑問だと思いましたので
質問をしてみました。
ttp://www.atmarkit.co.jp/fdotnet/aspnet/aspnet01/aspnet01_03.html

373 名前:nobodyさん mailto:sage [2008/02/20(水) 23:45:41 ID:???]
>>371
>開発環境を使わずにメモ帳を使ってということですよね?
違う違うVS2005。言いたかったことは、君が思ってるよりも
コード(aspx.vbや.vb)の手打ちで実装させることが多いということ。
TextBoxのonblurイベントからJScriptFunctionを仕込んだり、
GridViewに複数列をキーとしたソートを実装したり、
JScriptでの結果をASPにreturnして、さらにその結果をJScriptに返したりとか、
デザインビューのプロパティやコンテクストメニューとかに
項目が存在していなくても、コードを書けばなんとでもなることが多い。

>PHPやPerlに比べてネットだと情報量が少ないですよね。。。
。。。と付ける程少なくないと思うが。つかMSDNとヘルプでほぼ事足りる。
ASP.NETのクイックチュートリアルとか読んだか?試したか?

>開発をしようとすると非常に費用がかさむ世界なのでしょうか。。
ヒント:天下のM$様が開発された代物
つか、個人(だよね?)でASP.NETを使うメリットなんてないと俺は断言する。

>>372
>このメリットは、本当に現場で活かされているのか
活かされてるも何も、うちの会社ではGoTo文使うような扱いを受ける。
どうしても使わざるを得ない場合は設計を見直す。
MVCモデルとかOOPとかその辺の本も買ってきな。

374 名前:nobodyさん mailto:sage [2008/02/20(水) 23:49:11 ID:???]
補足:
>活かされてるも何も、うちの会社ではGoTo文使うような扱いを受ける。
文字列にタグを入れ込んで表示することが、ね。

375 名前:nobodyさん mailto:sage [2008/02/21(木) 00:21:53 ID:???]
>>373
レスありがとうございます。

> デザインビューのプロパティやコンテクストメニューとかに
> 項目が存在していなくても、コードを書けばなんとでもなることが多い。
プロパティに項目がなければ、なすすべが無いみたいに思っていたのですが、
現場の開発ではそうでもないのですね。
私は個人的に、工夫をするコードを書くと、あらかじめ準備しているクラスを活かしきれて
いないことから、重いだけの無駄な処理をしているようなイメージを持っていたのですが、
このあたりが間違っていたようですね。

> ASP.NETのクイックチュートリアルとか読んだか?試したか?
それは読んでませんでした。@ITの記事を読みながらやってましたので。
愚痴のような話ですが、Microsoftの入門者向け情報で、VBなどは読んでいたのですが、
ウィザードを使って、作って、ほら便利でしょ。終わり。という系統のが非常に多くて、
それに応用性が無いと思って読まなくなってました。M$のは中級者向けのがないですよね。
リファレンスはしっかりとしてますが、具体的な応用性がいまいちイメージできなかったり
しています。

> つか、個人(だよね?)でASP.NETを使うメリットなんてないと俺は断言する。
そうです。今は個人でやってます。会社でやることも考えて勉強のような位置づけです。
やはり、チームを組んでアプリを組む場合にメリットがあるわけであり、どんな場合でも
メリットがあるわけではないのですね。参考になりました。

ありがとうございます。

376 名前:nobodyさん mailto:sage [2008/02/21(木) 07:34:22 ID:???]
>>373-374
> 活かされてるも何も、うちの会社ではGoTo文使うような扱いを受ける。
> (文字列にタグを入れ込んで表示することが、ね。 )
> どうしても使わざるを得ない場合は設計を見直す。
コントロールを配置する方向で実現する方法があるのですね。
工夫をしてそのような方法が出来るかを見てみます。

> MVCモデルとかOOPとかその辺の本も買ってきな。
ASP.NETは、他のフレームワークと比べてMVCを意識しなくていいという
記事もあります(記事はASP.NET 1.0ですが)が、やはり、開発にはMVCを
意識して、役割を分けて作る必要があるということなのですね。
www.atmarkit.co.jp/fdotnet/special/aspstruts01/aspstruts01_04.html
MVCで検索するとjavaが良くヒットしますが、ASP.NETを例にしたものは、
簡単な文章のものしか見たことがありませんが、これは、MVCを理解して、
それをASP.NETで応用するという意味でしょうか?

377 名前:nobodyさん mailto:age [2008/02/21(木) 15:02:01 ID:???]
>>374さんの話は、<asp:〜 runat=server>タグに限った話ですか?
それとも<br>なども含めた話ですか?

378 名前:nobodyさん mailto:sage [2008/02/21(木) 16:09:59 ID:???]
DataListの使い方について質問です。
DataListのDataSourceを文字列にすると、意図するように表示されるのですが、
ADO.NETでDataReaderから取得した文字をDataSourceに指定すると、
1マスに1文字となってしまいます。
取得した文字の確認の為、Label等に出力させてみても、改行などは入って
いないのですが、DataListにすると、1文字ずつに分断されて表示されてしまいます。
これは、何処が問題なのでしょうか?

DataListのコード

<asp:DataList id="datalist" runat="server" CellPadding="1">
<ItemTemplate>
<%# Container.DataItem %>
</ItemTemplate>
</asp:DataList>

つづく

379 名前:378 mailto:sage [2008/02/21(木) 16:11:00 ID:???]
つづき

string[] st = {"aaa", "bbb"};
datalist.DataSource = st;
datalist.DataBind();

の出力結果は、

aaa
bbb

OleDbDataReader dr = cmd.ExecuteReader();
dr.Read();
string st = dr["タイトル"] + "," + dr["メッセージ"];
datalist.DataSource = st;
datalist.DataBind();

の出力結果は、

a
a
a
,
b
b
b
b

380 名前:nobodyさん mailto:sage [2008/02/23(土) 22:33:31 ID:???]
app_codeフォルダを作成し、その中にコードファイルhoge.csを作成したのですが、
そのhoge.csのusing 宣言でSystem.Dataが認識されません。
System.入力後にインテリセンスでもSystem.Dataが出てきませんし、メンバも利用できません。
参照設定でSystem.Dataを参照しても変わりません。
どこを修正すればよろしいのでしょうか?




381 名前:nobodyさん mailto:sage [2008/02/26(火) 10:27:21 ID:???]
>>379
上のコードは文字列の配列を渡しているのだから、
下のコードも同じように文字列の配列を渡すようにすれば良いじゃない

382 名前:nobodyさん mailto:sage [2008/02/26(火) 10:30:08 ID:???]
string[] st = { dr["タイトル"], dr["メッセージ"] };
でどう?

383 名前:nobodyさん mailto:sage [2008/02/28(木) 13:48:03 ID:???]
>>381-382
それでうまくいけました。
渡すデータの形が悪かったのですね。
ありがとうございました。

384 名前:nobodyさん mailto:sage [2008/02/28(木) 23:40:54 ID:???]
パスワード入力のinputってポストバックしたら消えるけど、この値を常に表示させたいが
どうすればいいですか

385 名前:nobodyさん mailto:sage [2008/02/28(木) 23:51:48 ID:???]
>>384
Cookieとかじゃダメ・・・?

386 名前:nobodyさん mailto:sage [2008/02/29(金) 00:28:07 ID:???]
すみません。クッキー以外でお願いします。
ブレークポイント設定して順に追ってみたのですが、どのタイミングで消えるのか分かりませんでした・・・

387 名前:nobodyさん mailto:sage [2008/02/29(金) 00:38:41 ID:???]
どうしてもというのであればSessionにつっこむ

388 名前:nobodyさん mailto:sage [2008/02/29(金) 01:25:24 ID:???]
やっぱりSessionしかないのですね。ありがとう

389 名前: [―{}@{}@{}-] nobodyさん mailto:sage [2008/02/29(金) 13:04:10 ID:??? BE:53832342-PLT(21001)]
>>384
PassBox.Attributes.Add("value", "パスワード")
でいかが?

390 名前:384 mailto:sage [2008/03/01(土) 13:09:02 ID:???]
>>389
完璧です!



391 名前:nobodyさん mailto:sage [2008/03/05(水) 12:54:57 ID:???]
ページ内でエラーが発生してcatch句で処理する場合など、
エラーが発生したことを表示させるにはLiteralとかで表示させるのが一般的なのでしょうか?

392 名前:nobodyさん mailto:sage [2008/03/05(水) 21:45:09 ID:???]
global.asaxでまとめてcatchしてエラーページに飛ばす。

393 名前:nobodyさん mailto:sage [2008/03/06(木) 14:34:16 ID:???]
サイト発行で完全コンパイルしていますが、特定ページのみコンパイルしない状態を作ることは出来るのでしょうか。

394 名前:nobodyさん mailto:sage [2008/03/07(金) 00:12:53 ID:???]
ASP.NETでASP.NETを実行してるユーザーの権限とかいじらずに
デフォルト状態でファイルとかにログを吐くにはどうしたらいいのでしょうか?

395 名前:nobodyさん mailto:sage [2008/03/07(金) 00:47:49 ID:???]
普通にglobal.asaxとかで出来ない?
出来ないならNetwork Serviceアカウントに権限与える必要あり。
FileSystemAccessRuleクラス当たりをググってみて

396 名前:nobodyさん mailto:sage [2008/03/07(金) 01:04:24 ID:???]
App_Dataにでもはいとけ


397 名前:nobodyさん mailto:sage [2008/03/07(金) 16:14:45 ID:???]
>396
うまくいきました。

398 名前:nobodyさん [2008/03/08(土) 19:12:02 ID:J6kJ8MXk]
asp.netのSessionについて調べているのですが、
Session.SessionIDプロパティの値って、いつ設定されるのでしょうか?
最初にwebアプリのaspxファイルにアクセスした時ですか?


399 名前:nobodyさん mailto:sage [2008/03/08(土) 22:01:34 ID:???]
はい。該当の仮想ディレクトリにアクセスされた時です。

400 名前:nobodyさん mailto:sage [2008/03/08(土) 22:33:34 ID:???]
うそつけ




401 名前:nobodyさん mailto:sage [2008/03/08(土) 22:34:01 ID:???]
自宅でASP.NETの勉強をしようと思い参考書を買ったのですが、不具合が…
参考書では

>Windowsコンポーネントの追加と削除」→
>Windowsコンポーネントウィザード」→
>インターネット インフォメーション サービス(IIS)」にチェック→
>「詳細」を左クリックします。

もうこの時点でアウト。
『インターネット インフォメーション サービス(IIS)』自体が表示されてません。
非常に困ってます。どうすれば表示されますか?教えてチャンですいません。

402 名前:sage [2008/03/08(土) 22:46:29 ID:J6kJ8MXk]
Sessionオブジェクトに値を設定したときかな。
IsNewSessionプロパティを見れば判るかも。

403 名前:nobodyさん mailto:sage [2008/03/08(土) 22:50:25 ID:???]
>401
環境は?XPの場合Home Editionだと×。IISはProfessional Edition 以上

404 名前:401 mailto:sage [2008/03/08(土) 23:10:59 ID:???]
OSはXP Home Editionです。
Professional Edition以上とは参考書に全然書いてないんで、安心しました。

勉強段階で行うのはアプリの動作確認だけだし、
使ってるレンタルサーバが「ASP.NET対応!テスト使用にもどうぞ」って謳ってるので、
IISは必ずしもクライアント側では必要ないのかも? という気がしてきました。
(間違ってたらご指摘下さい。)

お早いレス、有難うございます。

405 名前:nobodyさん mailto:sage [2008/03/08(土) 23:12:21 ID:???]
>>404
まあ、必要ないっちゃあ必要ない。
ただ、デバッグとかするのにはあるほうが数倍便利。

406 名前:nobodyさん mailto:sage [2008/03/09(日) 01:40:07 ID:???]
>参考書では
いつの参考書だ?


407 名前:nobodyさん mailto:sage [2008/03/09(日) 09:06:44 ID:???]
>>404
OSはXP HEは駄目だと表記されてない書籍というのは相当怪しくないか?
あと、出来れば、プログラムが無限ループになる可能性もあるから、
レンタルサーバの使用は避けた方がいいと思うけどな。
あと、XP HE でも、ASP.NETは動かすことは可能だぞ。2005以降のIDEだと
自動でローカルで動作確認が出来るツールが入ってくるし。

408 名前:nobodyさん [2008/03/10(月) 20:47:04 ID:X6+NrWjc]
>>404
Virtual PC + Windows Server 2003 180日評価版

409 名前:nobodyさん mailto:sage [2008/03/12(水) 23:23:12 ID:???]
変数をstaticで宣言した場合、いつまで保持されるのでしょうか
ポストバックしても残ってますが そのページ内でのみ残ってるのでしょうか

410 名前:nobodyさん mailto:sage [2008/03/13(木) 20:24:46 ID:???]
ASP.NETワーカープロセスが終了するまでじゃないの



411 名前:nobodyさん mailto:sage [2008/03/13(木) 21:15:47 ID:???]
それはないわ

412 名前:nobodyさん mailto:sage [2008/03/13(木) 22:14:20 ID:???]
正確にはアプリケーションドメインがアンロードされるまでだが、
ワーカープロセスが終了するまでというのはぜんぜん違うというほどではない。


>それはないわ
どういう意味で言ったのかね?


413 名前:409 mailto:sage [2008/03/14(金) 00:11:32 ID:???]
ありがとうございます。
Session変数みたく扱えるってことですね。逆にむやみやたらと使うと
ワーカープロセスが終了するまで残ってしまうのでよくないですね

414 名前:nobodyさん mailto:sage [2008/03/14(金) 14:35:37 ID:???]
旧ASPのコードをそのまま動かす方法はないでしょうか?

Google AdSenseのモバイル広告を使いたいのですが旧ASPのコードさかないので・・・

415 名前:nobodyさん mailto:sage [2008/03/14(金) 14:36:23 ID:???]
さかない→しかないの間違いです

416 名前:nobodyさん mailto:sage [2008/03/14(金) 16:42:53 ID:???]
ASP.NET3.5+AJAXではじめるECサイト構築入門って本買ったんだけど
ウリの一つのネットショップのサンプルファイルがCDから洩れてるし。

MasterPageHorizontalMenu.ascx.vb
誰か↑のファイルなんとかしてくれ。

417 名前:nobodyさん mailto:sage [2008/03/14(金) 22:57:12 ID:???]
あほか、機能くらい書けよw
実現してやるから

418 名前:nobodyさん mailto:sage [2008/03/17(月) 00:49:50 ID:???]
質問です。
環境:VisualBasic 2005 ASP.NET2.0 AJAX Control Toolkit


CascadingDropDownのListBox版というのは不可能なのでしょうか?
CascadingDropDownはListBoxに適用できないため自力でやるしか方法はないのでしょうか?

419 名前:nobodyさん mailto:sage [2008/03/17(月) 01:05:13 ID:???]
>>418
どうぞ
www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/Q_22966482.html

420 名前:nobodyさん [2008/03/19(水) 14:24:55 ID:zbaC+I0y]
IIS6.0でASP.NET3.5を動かすことはできるのでしょうか?
設定の方法が載っているサイトなどあれば教えてください。



421 名前:nobodyさん [2008/03/19(水) 17:19:26 ID:n1YREe+h]
すみません。自分はJavaプログラマでしたが、スレッド恐怖症です。

デッドロックとかむかつきます。

ASP.NETなら、スレッドは関係ないですか?PHPみたいにスレッドが関係ないといいです。

よろしくお願いします。

422 名前:nobodyさん mailto:sage [2008/03/21(金) 07:32:02 ID:???]
>>421
何を聞きたいのかわからん

423 名前:421 mailto:sage [2008/03/21(金) 20:41:42 ID:???]
>>422 どうもレスありがとうございます。漫画喫茶からのアクセスなのでどうしても
お礼が遅くなってしまいます。私が聞きたいのは、Javaだとサーブレットでは
通常はdoGetもしくはdoPostメソッド内での処理を書くのですが、それらメソッド外(いわゆるグローバル変数)を使います。
その場合、サーブレットは1つのクラスがマルチスレッドで動いているものですから、グローバル変数はマルチスレッド対応の
ソースコードを書かないとバグを引き起こします。しかし、PHPだと言語の仕様上そのような配慮はいらないです。
VB.NETでWEBのソースを書く場合はどうなのかとおもいまして。

また、答えていただけたら、幸いです。

424 名前:nobodyさん mailto:sage [2008/03/21(金) 23:35:42 ID:???]
それはマルチスレッド云々の問題ではなく、グローバル変数の利用法に
配慮したコーディングが出来てないだけじゃないのか・・

425 名前:nobodyさん mailto:sage [2008/03/22(土) 17:19:32 ID:???]
PHPだと配慮しなくてもOK
Javaだと配慮しないとNG
で、ASP.NETは?って聞いてんだろ。きっと。

426 名前:nobodyさん mailto:sage [2008/03/22(土) 23:31:55 ID:???]
>>421
PHP:マルチスレッド非対応
Java:マルチスレッド対応
ASP.NET:マルチスレッド対応

以上。

って言うのもこのスレ的にアレなのでASP.NETを使ってみて欲しい。

今回のケース(VB.NET)では一番簡単なマルチスレッド対応として
SyncLockを使えば良いだけに思える。(Javaのsynchronizedっぽいの)

慣れてきたら色んな排他制御の仕組みを適材適所で使い分けましょう。
例えばReaderWriterLockクラスはお手軽度では結構上位かな。

>>424
グローバル変数の利用法に配慮したコーディングって……
具体的にどういうコーディングか考えたらわかると思うけど,
マルチスレッドを考慮するってことに含まれるでしょう。


427 名前:nobodyさん [2008/03/23(日) 21:39:50 ID:x4MgCEzm]
ASP.NETでマルチスレッドってどんな場合に使用するのでしょうか?
当方初心者で思いつかないのですが

428 名前:nobodyさん [2008/03/24(月) 03:23:35 ID:ct6byZwV]
デザイナでDropDownListコントロールを配置し、
データソースの設定をし、DBより取得したレコードを
DropDownListに表示しています。
それはいいのですが、使用時に未選択を示す
空文字の行がありません。
つまりDBに"1","2","3"と3つレコードがあり、それをDrowpDownListに
取り込むことはできたのですが、実際使用する時には
""の行も必要なので困っています。
1.こういう場合どうするべきでしょうか?(DB側のテーブルに空文字の行を追加することは避けたい)
2.また、フォームのLoadイベントでリストの元データになっているDataTableにアクセスしたかったのですが、
 やり方がわかりませんでした。
 どうやればアクセスできますか?
 イメージ的にはMe.dataset.Tables[〜〜
 のようにフォームを初期化するために使用したデータセットがどこかに保存されているような気がするのですが。。

429 名前: [―{}@{}@{}-] nobodyさん mailto:sage [2008/03/24(月) 11:45:00 ID:???]
>>428
1.静的アイテムを定義しておいて、AppendDataBoundItems=Trueにするのが簡単かな
2.DataBoundイベントで行データにアクセスできるけどそれじゃ駄目?


430 名前:428 mailto:sage [2008/03/25(火) 01:21:28 ID:???]
>>429
>1.静的アイテムを定義しておいて、AppendDataBoundItems=True
これでばっちりです、これが知りたかったです。
ありがとうございます。

>2.DataBoundイベントで行データにアクセス
うーん、どこかの変数にリストボックスの作成元になっている
データセットへ直接アクセスするようなことはできないでしょうか?




431 名前:423 [2008/03/27(木) 19:17:41 ID:jex5dQtQ]
どうもありがとうございます。

よくわかりました。わたし、Java初めて3年になるんですが、
もうフレームワークやらなんやらで、ほとほとつかれました。

MSのならば、言語仕様がしっかりしてるとおもいました。
一応スレッドはあるみたいですが、がんばってみます。

思い切って、ASP.NETをやってみます。どうもありがとうございました。

お礼が遅れてすみませんでした。今日、仕事帰りに漫画喫茶にこれました。

432 名前:nobodyさん [2008/03/28(金) 00:19:18 ID:oYl8aU09]
開発時と運用時でフォルダ構成が違うため相対パスが違うので
プログラムで相対パスを書く時に困ってしまっています。
開発時画像を表示する相対パスを書いて、それを運用時のフォルダへコピーし、実行すると
画像への相対パスが変わってしまうため表示できません。
運用フォルダでは画像ファイルは*.aspxファイルより上の階層にあります。
開発時と運用時の相対パスの違いって
どうやって切り替えるとよいでしょうか?
それか実行時に動的にwebconfigあたりから相対パスを読み出してくるような方法ないでしょうか?


433 名前:nobodyさん mailto:sage [2008/03/28(金) 01:16:08 ID:???]
相対パス、相対パスって言ってるけど意味分かってるんだよね?
開発と運用で相対位置が上位と下位に分かれてるなんてどーしよーもないよ。

というか開発時と運用時で画像への相対パスが違うって事自体理解できん。
運用に合わせて開発環境整えればいいだけだと思うんだけど・・・
どういう理由でできないの?



434 名前:432 mailto:sage [2008/03/28(金) 01:40:35 ID:???]
>>433
相対パスの意味はOKです。
やはり運用環境に整えるのが当たり前ですか。
運用環境では*.aspxの配置してある階層より上の階層に画像があるのが
問題なんですね。
今運用環境が以下なのですが、
http://(root)/test.aspx
このtest.aspxの階層を一つ下げて
http://(root)/home/test.aspx
などとすれば画像へのパスが
http://(root)/img/a.jpg
となり開発時運用時共に同じ構成で作成できます。
今回は運用環境が実際は定まっていなかったので
運用環境のフォルダ構成を見直すことで
開発時と統一したいと思います。
ありがとうございました。

435 名前:nobodyさん mailto:sage [2008/03/29(土) 17:22:30 ID:???]
>>434
Web.configに絶対パスを書いて画像を指定するときに置き換えてやればいいじゃない

436 名前:nobodyさん mailto:sage [2008/03/30(日) 11:49:34 ID:???]
便乗なんだけど、パス書くときに~/で書けば自動変換してくれるけど、
<script>タグの場合は、runat=serverにしたらエラーなるけど、何か方法ないですか

437 名前:432 mailto:sage [2008/03/31(月) 05:18:43 ID:???]
>>435
ですね、
そう言う方法が知りたかったです。
ですが今回はフォルダ構成に関しては開発環境=運用環境が
基本と言うことをお教えいただいたのでそうしますね。
ありがとうございます。

438 名前:nobodyさん [2008/03/31(月) 05:30:55 ID:RxSssc/i]
DataListコントロールを利用してDBからのデータを表示しているのですが、
思うように表示できません。
イメージ的には水平に表示させていってウィンドウの右端までいくと
次の行に続きを表示したいんです。
1,2,3,4,
5,6,7,8,
みたいな感じです。
今回の例ならRepertColumnsに「4」を指定し、
RepertDirectionを「Horizontal」にすればよいのですが、
実際はウィンドウの幅がわからないためRepertColumnsの値がわかりません。
どうすればよいでしょうか?
ウィンドウサイズが変更された場合に自動的に
1,2,3,
4,5,6、
7,8
と並びを変えたいのですが。。

439 名前:nobodyさん mailto:sage [2008/04/01(火) 00:14:49 ID:???]
>>438
RepeatLayoutをFlowにしてインライン要素で敷き詰めたらどうだろうか。

440 名前:438 mailto:sage [2008/04/02(水) 01:45:15 ID:???]
>>439
RepeatLayoutをFlowにしてみたんですが、一行に1つずつのアイテムが
下へずらずらと表示されるだけでした。
インライン要素で敷き詰めるとはどうゆうことを指すのでしょうか?
すみません。



441 名前:416 [2008/04/02(水) 10:00:56 ID:Y/05D5yF]
>>416
ASP.NET3.5+AJAXではじめるECサイト構築入門
の作者が対応とってくれました。感謝。
www.friendlysw.com/aspnet/asp35/book.asp

416の時点で出版社へメールを送ったが、出版社からは音沙汰なしのままだった。
この対応については、ちと不満。
改訂版もしくは、初版以降の版では直ってることを願う。
書籍自体は、動くサンプルコードが豊富であり参考にはなると思った。

442 名前:nobodyさん mailto:sage [2008/04/02(水) 10:17:30 ID:???]
>>438
まず1から8までの各データをSPANタグ(インライン要素)で囲んだだけのHTMLを作って表示してみる。
ウィンドウ幅に余裕があるかぎりデータが横に並べられ、幅を変えるとそれに合わせて改行位置が変わることを確認できるはず。

これをDataListで再現できればいいわけだ。
RepeatLayout=Flow、RepeatColumnsをできるだけ大きい数(笑)にすればとりあえず再現できるね。

443 名前:438 mailto:sage [2008/04/04(金) 00:38:51 ID:???]
>>442
>まず1から8までの各データをSPANタグ(インライン要素)で囲んだだけのHTMLを作って表示してみる。
こちらはうまくできました
>RepeatLayout=Flow、RepeatColumnsをできるだけ大きい数(笑)にすればとりあえず再現できるね。
こちらは無理でした。itemtemplateの内部を<span>で囲ったんですけど。。
ItemTemplateの中で表タグ使ってるのが問題かもしれません。
と思って外したんですがやはり無理でした。
ここまで来るとASPというよりタグの問題かもしれません。
そもそもDataListがtableタグを使って表現している以上
ItemTemplate内でtableタグを使った場合、ウィンドウサイズが変動しても自動で列数が変わるとか
無理な気もしてきました。。

444 名前:438 mailto:sage [2008/04/04(金) 00:48:24 ID:???]
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
訂正

そもそもDataListがtableタグを使って表現しているので
テーブル内で<span>使ってもテーブル自体の列数がウィンドウサイズによって
動的に変動するとか無理なような気がしてきました。


445 名前:nobodyさん mailto:sage [2008/04/04(金) 09:38:27 ID:???]
RepeatLayout=FlowだとDataListはspanタグを吐くだろ?

446 名前:nobodyさん [2008/04/04(金) 22:07:24 ID:btrOMdCP]
SqlCommandでパラメータ使ってますが、省略可能なパラメータって定義できますか?
検索条件によってパラメータが無い場合もあるので、どのように対応すべきか悩んでいます。


447 名前:nobodyさん mailto:sage [2008/04/05(土) 16:12:22 ID:???]
条件によってcommandTextから変える

448 名前:446 [2008/04/05(土) 19:28:34 ID:/o0gPsTY]
>>447
レスありがとうございます。やはり動的にSQL文を生成するしかないのですか。

449 名前:438 mailto:sage [2008/04/05(土) 20:09:31 ID:???]
>>445
ほんとだ。。
検証ミスってすみません。ちゃんとspan吐いてました。
こんなん書いたら
<asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1" RepeatColumns="1000" RepeatLayout="Flow">
<ItemTemplate>
<table>
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text='<%# eval("出版社名") %>'></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList><br />

こんなん出力されてました。


450 名前:438 mailto:sage [2008/04/05(土) 20:09:52 ID:???]
<span id="DataList1"><span>
<table>
<tr>
<td>
<span id="DataList1_ctl00_Label1">集英社</span>
</td>
</tr>
</table>
</span><span>
<table>
<tr>
<td>
<span id="DataList1_ctl01_Label1">小学館</span>
</td>
</tr>
</table>
</span><span>
<table>
<tr>
<td>
<span id="DataList1_ctl02_Label1">講談社</span>
</td>
</tr>
</table>
</span><span>



451 名前:438 mailto:sage [2008/04/05(土) 20:11:49 ID:???]
ブラウザの見た目としては
集英社
小学館
講談社
メディアワークス
徳間書店
角川書店
竹書房
こんなんなっちゃいまして
期待としてはテーブルの中に入った出版社名が
右へずらっとウィンドウの右端まで表示したいのですが、
どうしても下へ並んでしまいました。。


452 名前:nobodyさん mailto:sage [2008/04/05(土) 21:40:40 ID:???]
>>438
Repeaterコントロール使えば良いんでね?
ItemTemplateの中身をひたすら繰り返すだけのシンプルなものになるから。
後はdivでもなんでも使えばよかろ。

453 名前:nobodyさん [2008/04/05(土) 21:42:06 ID:/o0gPsTY]
>>451
CSSの対応で、どうでしょうか?
>>450の場合だと
span#DataList1 table{ display:inline; }
とすれば横並びになりますが。

454 名前:nobodyさん mailto:sage [2008/04/05(土) 21:44:15 ID:???]
<ItemTemplate>
<div style="float: left">
<% Eval("Shuppansha") %>
</div>
</ItemTemplate>
 ↓
<div style="float: left">
集英社
</div>
<div style="float: left">
小学館
</div>
<div style="float: left">
講談社
</div>

みたいに出力される。

455 名前:nobodyさん mailto:sage [2008/04/05(土) 22:09:14 ID:???]
>>448
あとは、それを見込んでクエリを書くか。
WHERE (param = @param OR @param IS NULL)
みたいな。

456 名前:nobodyさん [2008/04/05(土) 23:48:02 ID:/o0gPsTY]
>>455
ありがとうございます。求めてたのはこれです。

457 名前:438 mailto:sage [2008/04/06(日) 17:14:55 ID:???]
うまくいきました!
まず>>453-454で教えて頂いたようにtableのstyleを「display:inline」とします。
これで解決しました。
また、今回の要件を満たすにはtableのstyleをdisplay=inlineとした上で、
Repeaterコントロールを使う方が良いと思いました。
DataListでもプロパティを設定すれば多少無理矢理な形で可能なのですが、
スマートでない感じがしました。
ありがとうございました。

458 名前:452 mailto:sage [2008/04/06(日) 22:35:04 ID:???]
客先のブラウザで全画面表示したら貧相な画面になりましたとか気まずいから、
>>438みたいな、横幅可変でなるべく全体使いたいって話が最近良くある。
狭い画面での表示と両立してくれって要求になるとかったるいけどw

20〜24インチぐらいのワイド液晶ある人はyahooやinfoseekとamazon比較してみると良いかも

459 名前:nobodyさん [2008/04/07(月) 00:19:01 ID:880v00YK]
ユーザーコントロール作って、その中のコントロールのボタンに
Click時にクライアントスクリプトを動かしたい場合は、ユーザー
コントロールの貼り付け先にスクリプト書く必要があるのでしょうか?
ユーザーコントロール側にスクリプト書いて、コントロールの
貼り付けだけで動作するようには出来ないのでしょうか?

460 名前:nobodyさん mailto:sage [2008/04/07(月) 19:54:47 ID:???]
簡単なスクリプトなら、動的にクライアントスクリプトを追加するように、ユーザーコントロールに書くとか



461 名前:nobodyさん [2008/04/07(月) 23:28:59 ID:HZpb0WP/]
TextBoxとボタンを2セット配置しまして
TextBox1の上でEnterキーが押された時はボタン1の処理、
TextBox2の上でEnterキーが押された時はボタン2の処理、と
処理を分ける場合はどうすればよいでしょうか?
今のところどちらでEnterキーを押してもボタン1の処理が実行されてしまいます。


462 名前:nobodyさん [2008/04/08(火) 00:18:51 ID:O6FEAP9E]
FormViewでメーカーCDを連結しているLabelがありまして、
実際にはここにメーカー名を表示したいのですが、良い方法ないですか?
とりあえず今はPage_Loadイベントで現在のメーカーCDをVisible=falseのメーカーCDと連結した
LabelからとってきてSqlCommandでExecuteReaderして別テーブルからメーカーCDをキーとしてメーカー名を取って非連結のLabelに表示しています。
動作に支障はないのですが、メーカーCDを取得するためだけにフォーム上に
Labelを1つ無駄に配置するというのがなんだかもったいないです。
いちいちメーカーCDのラベルを経由せず、直接現在のメーカーCDを取得するような方法ありませんか?

463 名前:nobodyさん mailto:sage [2008/04/08(火) 20:00:15 ID:???]
>>461
テキストボックス内でEnter押してSubmitを発生させた場合、
最初のSubmitボタンが押されたものとブラウザが判断するので・・・

1:formのイベントでキーをとっ捕まえてEnterキーかどうか判断
2:window.event.srcElementあたりでそれを発生させたオブジェクトを取得
3:後は煮るなり焼くなり
4:クロスブラウザに注意

464 名前:nobodyさん mailto:sage [2008/04/08(火) 20:38:52 ID:???]
>>462
どこのSIerだか偽装請負だかの新人か知らんが、
暗号解読能力が必要な質問すんな。

とりあえずMSDN読んどけ。
msdn2.microsoft.com/ja-jp/library/ms228214(VS.80).aspx
何遍読んでも自分でサンプル書いてもわからなければ、また相談に来い。
そのときはもっとマシな質問が出来るだろ。

ヒント:FormViewのリファレンス…特にプロパティ

465 名前:nobodyさん mailto:sage [2008/04/08(火) 23:10:14 ID:???]
AJAXControlToolkitで質問です。コントロール郡をツールバーから貼り付けるまでは
出来るのですが、TargetControlIDの欄が真っ黒になって、設定できません。
しかもこの欄をクリックすると、VSが落ちてしまいます。
このような現象に会われた方いらっしゃいますか?
参照の解除、再設定やらツールバーのリセットしても改善しません。

466 名前:462 mailto:sage [2008/04/09(水) 02:59:47 ID:???]
>>464
おかげさまで無事取得できました。
CType(Me.FormView1.DataItem, Data.DataRowView)("取得対象フィールド名")

467 名前:464 mailto:sage [2008/04/09(水) 22:56:48 ID:???]
>>466
この場合、aspxファイル内でFormView.DataKeyNamesにメーカーCDのフィールド名をセットして
FormView.DataKey.Value(キーが複数ある場合はValues)でキーの内容を取得する方が多分スマートかな。
わざわざコードビハインド側でセットする必要もないしね。

↓のような感じ
<asp:Label ID='MakerCDLabel' runat='server' Text='<%= this.FormView1.DataKey.Value %>' />

468 名前:462 mailto:sage [2008/04/10(木) 01:50:33 ID:???]
>>464
DataKeyNamesプロパティを利用して
キーから対応する名前を取得するには
通常DataKeyNamesに主キーの列名を指定する必要がありますよね?
今回取得したいのは主キーでないので無理そうです。
ありがとうございます。

469 名前:nobodyさん mailto:sage [2008/04/10(木) 16:28:59 ID:???]
>>461
Panel使えば簡単にできる
そういうプロパティがある

470 名前:461 mailto:sage [2008/04/11(金) 03:22:57 ID:???]
>>469
検証してきましたらうまくいきました!
こういうのが欲しかったです。
ありがとうございました。



471 名前:眠れない mailto:pipijingjing@gmail.com [2008/04/15(火) 21:15:36 ID:???]
aspで携帯サイト開発するとき、改頁の機能はどうすれば、携帯画面に出ることができるのでしょうか。知っている方はいらっしゃいましたら、教えていただけないでしょうか。

472 名前:nobodyさん mailto:sage [2008/04/16(水) 19:22:41 ID:???]
日本語でおk

473 名前:nobodyさん mailto:sage [2008/04/24(木) 12:44:27 ID:???]
GridViewでヘッダーとか設定した後、手動でDataBindするとレイアウトが解除されて
ノーマルな状態でBindされてしまいますが、回避する方法ありますか?

474 名前:nobodyさん mailto:sage [2008/04/25(金) 13:26:05 ID:???]
aspx側でText='<%# item[0] %>'みたくバインドしたいのですが
cs側でitemをどのように宣言して扱えばいいのでしょうか?
itemはList<string>がいいのですが

475 名前:nobodyさん mailto:sage [2008/04/25(金) 13:33:58 ID:???]
すいません。ソッコー自己解決しました。そのままパブリック宣言でおkでした

476 名前:nobodyさん mailto:sage [2008/04/26(土) 21:37:48 ID:???]
publicよりprotectedの方が良いんじゃねーかなー…

>>473
DataBoundイベント時に設定すればええやん

477 名前:nobodyさん mailto:sage [2008/05/02(金) 13:15:08 ID:???]
画像をクリックした時に、セッション変数に値をセットした上で、別のページに遷移したいのですが、
ImageButtonのPostBackUrlに遷移先のページ、Clickイベントでセッション変数への値のセット
としてもうまく動きません(Clickイベントが発生しません)
こういう場合はどの様にするのがベストなのでしょうか?

478 名前:nobodyさん mailto:sage [2008/05/02(金) 20:51:29 ID:???]
>Clickイベントが発生しません
aspxのImageButtonソースとClickイベントを書いて

479 名前:447 mailto:sage [2008/05/03(土) 06:14:49 ID:???]
>>478
ImageButtonのソース↓
<asp:ImageButton ID="imgPass" runat="server" ImageUrl="~/img/header_pass.jpg" PostBackUrl="~/passwordchange.aspx"
ToolTip="パスワードを変更します" />

イベント↓
Protected Sub imgPass_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles imgPass.Click

Session("ChangePassword") = Session("LoginId")

End Sub

となっています。
Session変数に値をセットしている所にブレイクを貼っても、ここにきません。
ちなみに、masterページに書いています。
よろしくお願いします。

480 名前:nobodyさん mailto:sage [2008/05/03(土) 13:06:20 ID:???]
OnClick="imgPass_Click"の記述がないよ。

<asp:ImageButton ID="imgPass" runat="server" ImageUrl="~/img/header_pass.jpg" PostBackUrl="~/passwordchange.aspx"
ToolTip="パスワードを変更します" OnClick="imgPass_Click" />

としてみて。





481 名前:nobodyさん mailto:sage [2008/05/03(土) 15:54:40 ID:???]
作成したASP.netサイトを自マシンにインストールし
自マシンに対して外部(イントラネット内)に公開する事は出来たのですが、

自マシンで作成したASP.netサイト(Default.aspx)を
特定マシンに(IISインストール済み)配置(公開)するにはどうすれば良いでしょうか?

・WEBサイトのコピー
・WEBサイトの発行
をプロジェクトの上で右クリックして、公開したいPCを指定しても
エラー(失敗してしまう)になってしまいます。



482 名前:nobodyさん mailto:sage [2008/05/03(土) 16:17:23 ID:???]
>>481
アクセス権

483 名前:481 mailto:sage [2008/05/03(土) 16:50:09 ID:???]
>>482
> アクセス権
レスありがとうございます。
因みにアクセス権の設定を行う方法として次のうちどれを行えば良いのでしょうか?
(初心者ですみません。)

1.公開したいサーバ上の管理ツールよりアクセス権の設定を行う。
2.公開したいサーバ上のIISマネージャより設定を行う。
3.「1.」「2.」両方の設定を行う。


484 名前:447 mailto:sage [2008/05/04(日) 02:05:59 ID:???]
>>480
どうもです。
試してみたけど動きません。
マスターページじゃないaspxファイルに貼ったImageButtonだとちゃんと動くので、
masterページに書いているのが原因なのかな?とも思ってるのですが・・・

あと、ツールボックスからコントロールを貼り付け、コントロールをダブルクリックして
出来たイベントハンドラに処理を書いていて、他はOnClickとか書いてなくてもイベントが発生するのですが、
自分で書く必要がある場合ってどういう時なんでしょうか?


485 名前:447 mailto:sage [2008/05/05(月) 02:15:18 ID:???]
>マスターページじゃないaspxファイルに貼ったImageButtonだとちゃんと動くので、
色々試した結果、これ間違ってました。
正確には、「PostBackUrlプロパティに、自ページ以外のページが指定されている場合は、OnClickイベントが動かない」でした。
OnClickイベントは、PostBackされた後にサーバーで処理される。と理解しました(間違いがあれば指摘ください)

PostBackUrlプロパティを空白にして、OnClickイベントでServer.Transferで要件を満たせました。
色々ありがとうございました。

486 名前:nobodyさん mailto:sage [2008/05/05(月) 19:20:36 ID:???]
たまには息抜きにどうですか?
www.atmarkit.co.jp/fdotnet/aspdevura/index/index.html
笑いながら、「あるある!」って最後まで読んでしまった。

487 名前:nobodyさん mailto:sage [2008/05/05(月) 20:01:05 ID:???]
本当は、ASP.netをメインでやりたいのに
Windowsアプリの開発ばかりやるハメになってる。

WEB系やりてーよぉー。

.NET FrameWorkはかなり熟知してるんだが。。。

488 名前:nobodyさん mailto:sage [2008/05/06(火) 02:01:30 ID:???]
マスターページ機能って便利だけど、パフォーマンスが落ちたりするんでしょうか?
ヘルプの記述を見ると要求後にマージするとあるので、なんかパフォーマンスが
落ちそうな気がするんです。
asp.netを使うページだけmaster機能、性的なページはダイナミックWebテンプレート、とか
使い分けた方がいいんでしょうか?

ヘルプ
「ユーザーがコンテンツ ページを要求すると、マスターページとマージされて、マスタ ページの
レイアウトとコンテンツ ページのコンテンツが結合された出力が生成されます。」


489 名前:nobodyさん mailto:sage [2008/05/06(火) 18:26:19 ID:???]
cobolしか触ったことのない俺がとりあえずASP入門するのに最適な
サイト・書籍を列挙してくれないか?
VS2008が使えるやつで頼む。

490 名前:nobodyさん mailto:sage [2008/05/06(火) 19:25:20 ID:???]
>>489
> cobolしか触ったことのない俺がとりあえずASP入門するのに最適な
> サイト・書籍を列挙してくれないか?
> VS2008が使えるやつで頼む。
こぼら には無理



491 名前:nobodyさん mailto:sage [2008/05/06(火) 19:31:45 ID:???]
cobolのみならC#.netの入門書からがいいんじゃないか。
.net framework自体の知識も基礎は必要になるから。

vs2008対応のasp.netのよい本はまだ出てない。
「asp.netでいってみよう」は評判良いが発行は古く
asp.net2.0未対応。

492 名前:nobodyさん mailto:sage [2008/05/06(火) 23:04:06 ID:???]
>>489
COBOLerならJAVAに行くべきだな。
「Java for Cobol Programmers」がおすすめ。ただし邦訳はない、全部英語。
どうしてもASP.NETなら、古本屋で
「.NETのしくみとVB.NETプログラミング入門―COBOLユーザーに捧げる」
を買って読んでから、 「基礎からのASP.NET SE必修! (プログラマの種シリーズ) 」
かな。


493 名前:nobodyさん mailto:sage [2008/05/07(水) 17:37:55 ID:???]
すまん、ちょっと教えて欲しいのだが、
ClientのJavaScriptから、非同期でポストバックして.aspx.cs上のメソッドを実行させるか、
コールバックしてイベントを発生させることは可能?

適当なButtonを作成して、GetPostBackEventReference(this.Button1, "");でやってみたり、
PageにIPostBackEventHandlerを追加してRasePostBackEventメソッドにコールバックさせてみたり
したのだが、いずれもブラウザが再読み込みをしてしまう・・・

具体的には、TextBoxで特定キーを押下後に、TextBoxの中身を確かめて、
特定の表示をしたいんだけど、JavaScriptでOnKeyUpをキャプチャーし、押されたキーを判断し、
JSでポストバックし、再読み込みせずにaspx.cs上のメソッドを実行させたいんだけど、
そんなことって可能ですか?(´・ω・`)

494 名前:nobodyさん mailto:sage [2008/05/07(水) 20:51:48 ID:???]
他スレで質問したところ解答が無いので
こちらでも質問させて下さい。

ASP.netで特定のサーバにhoge.aspxを配置して稼働させる方法は、
お蔭様で分かったのですが、これまではロジックを
 hoge.aspx
の中にゴリゴリ書いていたものをロジックを別クラスに分けて
コンパイルを行った上で同様の手順でサーバに配置したところ
「このアプリケーションは利用できません。」
なるエラーメッセージが表示されてしまいます。一体何が原因なのでしょうか?
(同様の手順でコンパイルしIISに配置しています。)

495 名前:nobodyさん mailto:sage [2008/05/07(水) 22:06:05 ID:???]
>>493
昔調べた限りでは出来なかった。AjaxExtensionでも入れれば。

>>494
VisualStudio使えば?
そんなエラーメッセージだけからでは理由がつかめないから、
例外をキャッチして詳細なエラーを吐くページを作っとけ。
適当予測ではApp_Code以下に置いてないとか。
あと、別にコンパイルは必須ではない。

496 名前:nobodyさん mailto:sage [2008/05/07(水) 22:24:10 ID:???]
>>495さん
レスありがとうございます。
普通にVisualStudioは使っています。
追加したクラスファイルは、普通にApp_Codeに入っています。

プロジェクトの上で右クリック → 新規項目の追加 → VBクラス
とするとVisual Studioの方から誘導する様なメッセージが表示されて
App_Code直下に配置されたと記憶しています。

原因はどうもIISの設定っぽ気がするのですがいまいち分かりません。
明日もう一度試してみようと思います。


497 名前:nobodyさん [2008/05/07(水) 22:26:37 ID:wvo/I4za]
ASP.NETには直接関係ないかもしれないけど、英語版Visual Studio使ってます
もちろんMSDNが英語だけど、日本語版MSDNに置き換えることってできますか?

498 名前:nobodyさん mailto:sage [2008/05/07(水) 22:34:48 ID:???]
>>495
そのAJAXでできないのよ・・・
再読み込みナシで、特定のメソッドを実行できればいいんだけど・・

>>496
俺はC#だから外しているかもしれんが、
作ったClassのNameSpaceをUsesしていないだけでは?

499 名前:nobodyさん mailto:sage [2008/05/07(水) 22:56:49 ID:???]
>>498
using ***の事ですか?
VBだと imports?


500 名前:nobodyさん mailto:sage [2008/05/07(水) 23:05:55 ID:???]
>>499
そそ、using
C#だと、普通にClassを作った限りでは、usingしなくても使えるけど。
表示されるエラーをすべて晒してみるのが手っ取り早いと思う。



501 名前:nobodyさん mailto:sage [2008/05/07(水) 23:08:35 ID:???]
>>496
マルチ乙

502 名前:nobodyさん mailto:sage [2008/05/07(水) 23:13:51 ID:???]
>>500
> そそ、using
> C#だと、普通にClassを作った限りでは、usingしなくても使えるけど。
> 表示されるエラーをすべて晒してみるのが手っ取り早いと思う。
それがどうもIIS側の設定っぽいエラーなんです。
エラーを晒したいのですが環境が自宅には無くて出来ません。
明日、>>500さんに教えて頂いた事を踏まえていろいろ試してみて駄目だったら
エラー内容を控えてこちらにてご質問させて頂きます。



503 名前:nobodyさん mailto:sage [2008/05/08(木) 18:21:52 ID:???]
>>498
Remotingかwebサービスで対応できると思う

504 名前:nobodyさん mailto:sage [2008/05/08(木) 19:09:51 ID:???]
>>503
ありがとう
なるほど、できるっぽいけど煩雑な手順を踏まないといけないのね・・

いちおうLinkButtonか、Buttonをスタイルシートで非表示状態、
または背景と同じ色で配置して、このコントロールのイベントを利用することで、
仮想的に特定のメソッドを実行させてるけど、あまり美しくない・・・

IPostBackEventHandlerを継承したユーザコントロールを作ったりすれば、
少しはキレイになるのかしら・・・

505 名前:nobodyさん mailto:sage [2008/05/08(木) 22:03:15 ID:???]
>>504
クエリ文字列かなにかをもとに目的の処理をするaspxを作っておいて、それにXHRでリクエスト投げる
という単純な方法じゃだめなの?

506 名前:nobodyさん mailto:sage [2008/05/08(木) 22:52:47 ID:???]
ActiveDirectory ドメイン環境で、
iisのアクセス権の設定で、基本認証にすると
ユーザ、パス入力のダイアログ出るんですけど、
クライアントPCにすでにドメインログオンしてるので、
ダイアログ出さずに認証通したいのですが、
どうやればいんでしょう…。

以前、IEだとダイアログなしで認証できてたサイトがあったので、
方法はあると思うんですけど。firefoxとかだとダイアログでてました。

507 名前:506 mailto:sage [2008/05/08(木) 23:25:54 ID:???]
一応自己解決
web.configに
<identity impersonate = "true" />
追加でできるらし。

ここでもうひとつ疑問点。
ドメイン外に設置したサーバ上のwebページで、
ドメイン内からアクセスしてきた、ログオンユーザの
ユーザ名を取得する方法ってないでしょうか??


508 名前:nobodyさん mailto:sage [2008/05/10(土) 21:35:41 ID:???]
web.configにパラメータを設定したいのですが
web.configへのキーの追加方法が記載された、何か参考になるサイト()はありますあか?

現在、web.configに適当にキーを設定してプログラムから読み込み、コンパイルを
するとweb.configへのキーの書き方が違っているみたいでコンパイルエラーが出てしまいます。


509 名前:nobodyさん mailto:sage [2008/05/10(土) 23:06:03 ID:???]
俺.configにパラメータを設定したいのですが、
俺.configへの彼女の追加方法が記載された、何か参考になるサイト()はありますあか?

現在、俺.configに適当にキーを設定してアーッ!

510 名前:nobodyさん mailto:sage [2008/05/10(土) 23:54:33 ID:???]
msdn.microsoft.com/ja-jp/library/ms228112(VS.80).aspx



511 名前:nobodyさん mailto:sage [2008/05/11(日) 00:10:46 ID:???]
>>510
さんくす

512 名前:ASP.net初心者です男 mailto:sage [2008/05/12(月) 22:25:01 ID:???]
画面を上下に分割して(つまりFrameで上下に20% / 50%)画面上部に社員番号を入力し
「検索」ボタンを押すと、画面下部の詳細画面に詳細結果を出力するにはどうすれば良いでしょうか?
ベテランの人お願いします。

Default.aspx
SearchTop.aspx
Result.aspx

[ Default.aspx ]
*****************************************************
[ SearchTop.aspx ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

社員番号  ■■■■■■    [ 検索 ]

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[ Result.aspx ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

社員番号  1234
社員名   とまお 好き男

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*****************************************************






513 名前:nobodyさん mailto:sage [2008/05/12(月) 22:27:15 ID:???]
Frameヤメレ

514 名前:nobodyさん mailto:sage [2008/05/12(月) 22:43:30 ID:???]
MasterPageは使いたく無いのです。
確か何かFrameに対するtargetを指定して実行する方法があったと思うのですが。
お願いします。


515 名前:nobodyさん mailto:sage [2008/05/12(月) 23:16:45 ID:???]
>>514
今どきframe使うのがいるのに驚いた。
frameは非推奨タグなの知らないの?

なんでMasterPageが出てくるんだ?
MasterPageは便利な機能だが必須ではない。

516 名前:nobodyさん mailto:sage [2008/05/12(月) 23:56:21 ID:???]
>>515
ええっホントですか?如何せん、ASP.net初心者ですので。
始めて知りました。因みに推奨されている方法にはどんな物がありますか?


517 名前:nobodyさん mailto:sage [2008/05/12(月) 23:57:25 ID:???]
AjaxとClientCallBack関数の違いってあるんですか?
そもそも両者JavaScriptをか介しますが。


518 名前:nobodyさん mailto:sage [2008/05/13(火) 00:56:57 ID:???]
>>515
frameの件は.NET関係ない。残念ながら常識のレベル。
なお、.aspxにDB接続とかのロジック書いたりもやめるように。

で、一つの方法としてだがDefault.aspxにTextBoxとButtonとGridView、
SQLDataSourceを置いてバインドしてやるのが一番楽じゃね。
初回表示時にGridViewを見せたくないならvisible = falseするなり、
検索ボタン押下のタイミングでDataSourceとパラメータをセットして、
DataBindしてやればいいと思う。
検索窓をわざわざフレーム切りたいってことは、使い回しをしたいということかな。
もしそうなら、セットでユーザーコントロールにでもしておけばOK。
意味不明なら初心者本でもどうぞ。

>>517
方法論に対する実装の一つ。
つか、AJAX Extensionのように.NET側から
動的にコントロールを更新できないので、俺の用途ではイラネ。

519 名前:nobodyさん mailto:sage [2008/05/13(火) 00:57:25 ID:???]
アンカーミス
>>515 ×
>>516

520 名前:nobodyさん mailto:sage [2008/05/13(火) 01:07:39 ID:???]
>方法論に対する実装の一つ。
なんか違うな…。スマン。
正確な用語を使える程のレベルじゃないのでこのまま逃げます。



521 名前:nobodyさん mailto:sage [2008/05/13(火) 01:46:15 ID:???]
>>518
> 検索窓をわざわざフレーム切りたいってことは、使い回しをしたいということかな。
使いまわしたいって分けではないのですが、あえて検索結果を別フレームに表示
する事がDataGrid ・ GridView双方で出来るのか試してみたいのです?

1ページで行う事は普通に出来ます。
敢えて別フレームに結果を表示したいのです。


522 名前:nobodyさん mailto:sage [2008/05/13(火) 05:21:32 ID:???]
>518
>.aspxにDB接続とかのロジック書いたりもやめるように。

これはどういう意味ですか?
DB接続のコードは書籍なんかでもaspxファイルに書かれて
いるようですが、なにか問題はあるんですか?

523 名前:nobodyさん mailto:sage [2008/05/13(火) 05:27:32 ID:???]
>>521
フレーム使ってファイルを複数に分断するデメリットが大きい。
フレームで作るのは10年前の作り方という気がする。
商用Webサイトでフレームつかってるところがほとんど
なくなったの考えてみて。

まぁDataGrid使ってみれば分かるよ
結果のソート、ページングなどもできて便利。


524 名前:nobodyさん mailto:sage [2008/05/13(火) 10:28:06 ID:???]
521じゃないけど
でも実際はSEOの関係でフレーム非推奨になったわけで、主な用途はイントラなんで
代替となる機能がサクッと実現できないのが困る。

525 名前:nobodyさん mailto:sage [2008/05/13(火) 23:26:50 ID:???]
まぁ確かにそれもあるんだけど、それを言ってしまうと、
VB6の方が何でも出来てよくなかった?とかその辺の話にな(ry

526 名前:nobodyさん mailto:sage [2008/05/14(水) 21:34:17 ID:???]
>>522
クイックチュートリアル読んで、
コードビハインドの意味を考察してみるといいよ。

MS謹製の書籍でも.aspxにビジネスロジック書いてたりすることがあるが、
説明しやすくためであるのと実運用で使うのは意味が異なる。

527 名前:nobodyさん mailto:sage [2008/05/15(木) 00:50:53 ID:???]
>>522
できるよ。
以上。
↓次の方どうぞ

528 名前:nobodyさん mailto:sage [2008/05/15(木) 10:34:44 ID:???]
コードとビジネスロジックの分離。
3階層 とか ObjectDataSource とか でググれ

つづきはwebで・・・

529 名前:nobodyさん mailto:sage [2008/05/15(木) 21:21:11 ID:???]
現在VS2005で勉強がてらクライアントコールバックを勉強しているのですが、
これって基本的な動きはAjaxと同じですよね?

あとパフォーマンスの面で、

・ASP.net Ajaxをインストールして使用
・クライアントコールバックで代用


どちらの方が良いでしょうか?

530 名前:nobodyさん mailto:sage [2008/05/16(金) 10:25:05 ID:???]
・ASP.net Ajaxをインストールして使用



531 名前:nobodyさん mailto:sage [2008/05/16(金) 23:17:17 ID:???]
FormViewのHeaderTemplateとItemTemplateにそれぞれラベルなどをおく。
Headerの方のラベルにFormViewに関連付けたSQLDataSourceコントロールからバインド。
ItemTemplateの方のラベルに別のSQLDataSourceコントロールの値を設定したい。

FindControlでFormView.Row.Findcontrol(///)でラベルを参照して、設定してやろうとすると
うまく設定できたり、逆にRowが見つからない(=オブジェクト参照がry)のエラーでとまったりと
メチャクチャな動きをしやがる。

大体100回トライしてみて90回くらい失敗、残り10回くらい成功する。
ソースは全く書き換えてない。

似たような経験の片いらっしゃいません?

532 名前:nobodyさん mailto:sage [2008/05/16(金) 23:49:09 ID:???]
毎回同じデータが取られてる?
データ取りの処理に問題あるのでは?

533 名前:nobodyさん mailto:sage [2008/05/17(土) 00:05:07 ID:???]
>>530
ASP.net Ajaxをどうしてもインストールしてはダメな環境です。

因みに自分でASP.net+Ajaxの原始的な方法でAjaxを実装したのですが
飛ばし先のhoge.aspxのPage_Loadの中で
  Response.Write("呼出元のhtmlページに返す文字");
と記述すると呼出元のページではResponse.RequestTextには
<!Document*** という余計な文字列も返されてしまうのですが
何か良い方法はありますか?
私は、JavaScriptで次の通り「」の中の部分のみを切り取って出力
しています。
そもそも、この様な方法でも問題無いのでしょうか?

「 呼出元のhtmlページに返す文字 」 <!Document ***


534 名前:nobodyさん mailto:sage [2008/05/17(土) 00:20:53 ID:???]
Response.Write("呼出元のhtmlページに返す文字");
Response.End();

535 名前:nobodyさん mailto:sage [2008/05/17(土) 00:28:21 ID:???]
>>534

試してみます!!

あざぁーっっっっっっっす!!










536 名前:nobodyさん mailto:sage [2008/05/17(土) 06:22:24 ID:???]
>>514
自分も昔ここで同じ質問したことあるんでそのときの経験談書きますね。
まぁ既に出てる話ですので参考程度に。

1.フレームはとにかく推奨されない
2.フレームなしに書き直したところ意外に利便性は変わらない
3.バグが発生したとき対応にすごく困る状況になりやすい

2と3が主な理由ですね。


537 名前:nobodyさん [2008/05/17(土) 13:25:15 ID:71sy1o27]
以下の様なことをやろうとしています。

@リクエスト 
→セッション新規作成、セッションIDの名前のファイル作成

Aリクエスト
→セッションがすでに存在すれば、
 セッションIDの名前のファイルに情報を書き込み、サービスにも利用

Bセッションタイムアウトなどによりセッション破棄
→セッションIDの名前のファイルを削除

で、Bをどのように実装すればよいかで困っています。

3のセッション破棄を検知したいのですが、
global.asaxのSession_Endでは
破棄されるセッションIDが取得できないようですし。

何かいい方法ありませんか?

538 名前:nobodyさん mailto:sage [2008/05/17(土) 19:55:36 ID:???]
自分の目が節穴で無ければ、this.Sessionで見えてるこのオブジェクトはなんなのだろう。

539 名前:nobodyさん mailto:sage [2008/05/18(日) 23:57:40 ID:???]
そうやって決めうちで削除したり、何かを作ったりするのはやめたほうがいい
ClassにPage.Sessionを渡して、あとはClassに処理させる。

Classでは、Page.Sessionのindexをなめて作成したファイルと比較し、
新しいSessionObjectがあればファイル作成、
なければ削除という処理を行う。
これをページを作成するごとに繰り返せばok。


540 名前:nobodyさん mailto:sage [2008/05/19(月) 00:20:18 ID:???]
>>536
あざーす。参考にさせてもらいます。



541 名前:Ajax 1 mailto:sage [2008/05/20(火) 21:54:07 ID:???]
Ajaxの勉強をしているのですが@ITを参考に次の様にコードを入力してVS2005にて
実行をしたところエラーが出てしまいます。どうすればAjaxを実行出来ますか?
(Ajax.dllは参照済みです。)
[ AjaxXML.aspx ]
<!--
AjaxXML.GetMessageOfTheDay(GetMessageOfTheDay_CallBack);
function GetMessageOfTheDay_CallBack(response)
{
alert(response.value);
}
-->
</script>
[ AjaxXML.aspx.vb ]
Imports Ajax
Partial Class AjaxXML
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Ajax.Utility.RegisterTypeForAjax(GetType(AjaxXML))
End Sub
<Ajax.AjaxMethod()> _
Public Function GetMessageOfTheDay() As String
Return "Experience is the mother of wisdom"
End Function
End Class


542 名前:Ajax2 mailto:sage [2008/05/20(火) 21:55:07 ID:???]
[ web.config ]
<system.web>
<httpHandlers>
<!-- Register the ajax handler -->
<add verb="POST,GET" path="ajax_/*.ashx"
type="Ajax.PageHandlerFactory, Ajax" />
</httpHandlers>
  ・・・
[ エラー ]
Microsoft _JScript 実行時エラー:'AjaxXML'は宣言されていません。

543 名前:nobodyさん mailto:sage [2008/05/24(土) 00:42:12 ID:???]
これまでWindowsアプリをメインに作って来たのですが、私一人しかいない現場で
私がASP.netアプリを作る羽目になりました。

作業内容として只単純に、データの照会(取引の一覧を取得し画面に表示するだけ)
を行うだけなのですが、私の作成した画面のレイアウトは
 ・Label
 ・Table
コントロールを***.aspx画面に張りつけてその項目に値をセットしているだけなのですが
この方針って間違ってますか?

スタイルシートの知識とかは無いので.NETのデザイン画面で適当にデザインをして
(スタイルシートなんて使わず)ドラッグしてピヨーッと伸ばして行・列幅の調節
をしています。(html / StyleSheet / JavaScriptについてはアマチュアレベル)

ASP.net(.NetFrameWorkについては結構詳しいです。)に関して実務経験豊富な
ベテランの方如何でしょうか?ご意見を聞かせて下さい。


544 名前:nobodyさん mailto:sage [2008/05/24(土) 01:18:22 ID:???]
>>543
一覧表示に適したコントロールならGridViewがある。
GridViewは表示対象をDataSetまたはDataTableオブジェクトとして扱って
バインドさせるだけでおk

545 名前:nobodyさん mailto:sage [2008/05/24(土) 12:46:33 ID:???]
と、言うかその程度なら別にASP.NETとWindowsFormで違いないだろ。

546 名前:nobodyさん [2008/05/24(土) 12:49:50 ID:taKpBKe5]
GridViewでヘッダの表示を固定することってできますか?
エクセルの「ウィンドウ枠の固定」みたなやつで、沢山の行があって
下にスクロールしてもヘッダだけは画面上に表示されるようにしたいのです。
やり方を知っていたら教えてください。

547 名前:nobodyさん mailto:sage [2008/05/24(土) 13:42:15 ID:???]
CSSで出来る。ググレ

548 名前:nobodyさん mailto:sage [2008/05/24(土) 18:41:07 ID:???]
上でフレームの話が出てたけど、フレームの代わりにdivでスクロール表示させて表示したいけど、
ウィンドウいっぱいに表示するのが、IE6だとうまくできません。参考になるサイトありませんか。

549 名前:nobodyさん mailto:sage [2008/05/25(日) 16:09:24 ID:???]
>>548
>>228と同じ内容なら>>229
「Repeater」コントロールで<div style="float:left;">

550 名前:nobodyさん [2008/05/25(日) 19:56:25 ID:BMpN20e7]
エクセルとかPDFをサーバー側で作るとして、それをダウンロード画面に表示するのはどやってるの?
「保存」とか「開く」とか出る画面を出したいけど



551 名前:nobodyさん mailto:sage [2008/05/26(月) 00:08:03 ID:???]
>>550
Response.WriteFileで本当ならOK。
だけどちょっと大きなファイルを扱おうとするとエラーを吐きやがります。
なので下記ページのサンプルコードのような書き方をすれば良いかと。
support.microsoft.com/kb/812406/ja


552 名前:550 [2008/05/26(月) 21:04:10 ID:4YPDbsMz]
>>551
あざーす。
ちなみに、これですと物理ディスク上のファイルをResponse.OutputStream.Write()で書き込みしてますが、
物理ディスク上のファイルでないと無理でしょか?たとえば、エクセルなどは動的に作ったらディスクに保存せず
そのままクライアントに流したいのですけど

553 名前:550 [2008/05/26(月) 23:03:08 ID:4YPDbsMz]
自己レスです。
.NETではファイル生成しなければ無理みたいですね。失礼しました。

554 名前:nobodyさん mailto:sage [2008/05/26(月) 23:20:56 ID:???]
釣りかマジかどっちだ??


555 名前:550 mailto:sage [2008/05/26(月) 23:30:41 ID:???]
え?
マジでしょう。スプレッド.NETとかっての使うのは無しの場合では、無理っぽい(らしい)けど、方法ありますか?

556 名前:nobodyさん mailto:sage [2008/05/26(月) 23:50:17 ID:???]
言ってる意味多分わかった気もするけど>>552の日本語が悪いだろ


557 名前:550 mailto:sage [2008/05/27(火) 00:51:48 ID:???]
すいませんです^^;新米なので

558 名前:551 mailto:sage [2008/05/27(火) 01:25:43 ID:???]
>>550
Excelデータのバイト配列が作れる状況ならファイル生成なんて不要。
要はResponse.OutputStreamに必要なデータをWriteできれば良し。
そのデータは当然ファイルから作っても良いし動的に作っても良いわけで。

自分の経験としてはウェブサービス経由で取得したExcelデータを
ウェブサーバ上ではファイルを作成せずに
そのままクライアントに返してました。

ただ,どうやってExcelデータを動的に作成するのか知らんけど
バイト配列を作成する手っ取り早い方法として
一旦保存してFileStreamを読むことになることはあるかもしれん。

559 名前:nobodyさん mailto:sage [2008/05/27(火) 11:19:57 ID:???]
GridViewの内側の罫線はデザイナから変更できないのでしょうか?
BorderColorプロパティでは外側しか変更されないのですが…

560 名前:nobodyさん mailto:sage [2008/05/27(火) 11:34:28 ID:???]
質問です。
FormViewをHTML展開したときに、デフォルトでは
tableが構築されるけど、これを<p>とか<div>にしたい場合は
どこをいじればいいのでしょう?


>>559
GridViewのGridLinesプロパティとか?



561 名前:559 mailto:sage [2008/05/28(水) 10:28:14 ID:???]
>>560
ありがとうございます。
解決しました。

562 名前:nobodyさん [2008/05/28(水) 16:58:40 ID:BjXoHKSe]
phpからasp.netに移行しようと思って昨日から勉強しています。
あるサイトのサンプルコードを見て疑問に思ったのですが、

<form runat="server">
  <asp:ListBox id="lb_Address" runat="server">
    <asp:ListItem>東京</asp:ListItem>
    <asp:ListItem>神奈川</asp:ListItem>
    <asp:ListItem>千葉</asp:ListItem>
    <asp:ListItem>埼玉</asp:ListItem>
  </asp:ListBox>
  <asp:TextBox id="tb_Name" runat="server" />
  <asp:Button id="btn_Submit" Text="Submit" runat="server" />
</form>

なぜこのようにわざわざaspの独自タグ?(サーバコントロールと書かれていましたが)で記述するのでしょうか?
phpからきた自分としては、htmlで出来る部分はhtmlでやって、
プログラム的な部分だけC#なりVB.NETなりで記述するものなのでは?と思ってしまうのですが、
これはhtmlで<input>等と直接記述するのと比べて何か意味があるのでしょうか?
馬鹿っぽ質問で申し訳ないですがよろしくお願いします。

563 名前:nobodyさん mailto:sage [2008/05/28(水) 17:09:52 ID:???]
>>562
<asp:....>の部分はIISで適当なHTMLタグに置き換えられて
ブラウザに送信される。
<aspの部分をそのまま送ったらブラウザが理解できない。

asp.netはブラウザの種類を判別して、最適なタグに
置き換えてくれるのだ。

564 名前:562 [2008/05/28(水) 17:32:16 ID:BjXoHKSe]
>asp.netはブラウザの種類を判別して、最適なタグに
>置き換えてくれるのだ。
そうだったんですかー
納得できました。どうもありがとうございます。

565 名前:nobodyさん [2008/05/28(水) 21:32:20 ID:HG8kee+E]
>>562
htmlで出来る部分はhtmlでやって、プログラム的な部分だけC#、とは言っても、
リストボックスを例に出すぐらいだから、ユーザの選択内容をプログラム側に渡すでしょ?
PHPで言うところの$_POST["lb_Address"]みたいにさ。

ここで$_POSTと同じ役割の機能としてASP.NETでは、Request.Form["lb_Address"]と書けば、
リストボックスの選択内容をサーバ側コードで一応取得できるんだけど、これはASP.NETの
標準的なプログラミングモデルではやってはいけない。
代わりに、lb_Address.SelectedValueみたいな感じで取得する。

逆に、リストボックスのどれかの値をあらかじめ選択した状態のページを生成する場合、
PHPならprintでselectとoptionタグを書き込むだろうけど、
ASP.NETでは同じようにResponse.Writeというもので一応直接htmlタグを出力することも出来るが、
やっぱり普通はやっちゃいけない。代わりにthis.lb_Address.SelectedIndex = 3みたいな感じでセットする。


PHPやASPからだと、そのへんの考え方を理解するのに少し時間がかかるかも

566 名前:nobodyさん mailto:sage [2008/05/28(水) 21:36:52 ID:???]
コニツワ!

ASP.NETに、PortalAPI(JSR168風な)ってあるん?

567 名前:562 mailto:sage [2008/05/28(水) 22:04:30 ID:???]
>>565
ご丁寧にどうもありがとうございます。
phpユーザの為に似たような書き方もできるようにしてるけど推奨されないということですかねー
少し考えていた感じとは違うので時間かかりそうですが、
1からやるつもりで頑張っていきたいと思います。

568 名前:nobodyさん mailto:sage [2008/05/29(木) 00:51:41 ID:???]
とどのつまり、オブジェクト指向ってことです

569 名前:nobodyさん mailto:sage [2008/05/31(土) 03:24:26 ID:???]
DBのフィールドを見て処理を分岐させるために、
SqlCommand.ExecuteScalar()で値を取ってきているのですが
フィールドがNULLの場合もあります。
こういう場合はどのような型で結果を受けるべきなのでしょうか?
Nullable(Of Integer)では落ちました。
DBNULLとVBのNothingは違うということなのかな…。

今はとりあえずObject型で受けてから、IsDBNull()で聞いて分岐させてます。

570 名前:nobodyさん mailto:sage [2008/05/31(土) 11:45:42 ID:???]
>>569
DBNull.Value



571 名前:nobodyさん mailto:sage [2008/05/31(土) 17:24:10 ID:???]
ありがとうございます。

572 名前:nobodyさん mailto:sage [2008/06/01(日) 18:04:07 ID:???]
排他制御について質問です。
一覧表示->更新処理が行える画面なのですが、
ユーザーAとBが同時に一覧を取得して、先にAがあるレコードを更新した場合
Bはもう一度一覧を取得し直さないと更新が行えないようにしたいです。

現在はSqlCommandのTransactionを利用して以下のような流れです。
1.更新前処理で更新対象行のレコードから、全項目を取得
2.取得した項目をキーとしてSELECT実行
3.存在ありならば更新がかかっていないとみなしてUPDATE->Commit
 存在なしならば他から更新されたとみなしてRollback->更新を促すメッセージ表示

GridViewのUpdateメソッド、およびテーブルにDateTimeの列を追加等が
出来ない環境なのですが、他に良い案や定石などありますでしょうか。
なお、同時更新は滅多に起こることのない環境です。

573 名前:nobodyさん mailto:sage [2008/06/01(日) 21:17:02 ID:???]
>>572
レコードにバージョンを表すフィールド(TimeStamp, 最終更新日時, あるいはただの連番)を追加するか、
全フィールドを比較するか以外に、オプティミスティック同時実行制御を行う方法なんてないんじゃない?

GridViewのUpdateメソッドも、デフォルト状態では結局のところ全フィールドの比較を内部的に実行していたと思う

どうしてもそのテーブルを変更できないなら、別テーブルに同じ主キー貼ったものを切り出して、バージョンを表すフィールドを追加して、更新系の画面では元のテーブルとバージョンテーブルをチェック&更新するようにするとか

574 名前:nobodyさん mailto:sage [2008/06/02(月) 00:00:19 ID:???]
SELECTで取得→ハッシュで比較→COMMIT/ROLLBACK

575 名前:572 mailto:sage [2008/06/02(月) 01:51:03 ID:???]
>>573,574
回答ありがとうございます。別テーブルに切り出すのは良い案かもしれません。
今はSqlCacheDependencyを利用した変更通知を探っています。
MSDN見ながらのテストでは変更通知が連続してきたり、
逆に来なかったりでズタボロですが…。

576 名前:nobodyさん mailto:sage [2008/06/02(月) 03:34:54 ID:???]
おいおいどこに行く気だよ
前列比較のがましじゃないか?


577 名前:nobodyさん [2008/06/02(月) 10:07:07 ID:kZgOWgo+]
ブラウザ上でユーザに編集はさせたくないけど、載ってる値をpostしたときに
サーバへ飛ばすTextBoxってどのような設定にすればいいですか?
ReadOnlyをTrueにしたら値がサーバにやってこなかったです。

都合でLabelは使えません(JavaScriptでも編集したいため)。
別途hiddenフィールドを作るしかないですかね。。。

578 名前:nobodyさん mailto:sage [2008/06/03(火) 16:11:36 ID:???]
ASP.NET 3.5 のレンタルサーバって国内はまだ無いですかね?

579 名前:nobodyさん mailto:sage [2008/06/03(火) 17:39:51 ID:???]
自宅で開業して人柱erになる

580 名前:nobodyさん mailto:sage [2008/06/04(水) 00:19:04 ID:???]
>>577
エスパーじゃないので目的がわからないけど,
クライアントから送信されるデータを信用しろというのは無理な相談だし,
普通にセッション変数を利用すれば解決する問題だったりしない?



581 名前:580 mailto:sage [2008/06/04(水) 00:22:51 ID:???]
JavaScriptの文字が見えない馬鹿=自分。

582 名前:nobodyさん mailto:sage [2008/06/04(水) 01:13:59 ID:???]
>>580
てことはJavaScriptで使えれば、Labelでいいんじゃね
var elm = document.getElementById("<%=Me.Label1.ClientID%>");

583 名前:nobodyさん mailto:sage [2008/06/04(水) 05:17:43 ID:???]
ASP.NETって初心者には敷居高いですよねー
最悪でもVisualBasic使いこなせるレベルでないと、入れない気が。

ココから始めると結構分かりやすいぞ、みたいな、超初心者でも
コツコツ学んでいける方法や入口を教えて頂けると助かります。
宜しくお願い致します。

584 名前:nobodyさん mailto:sage [2008/06/04(水) 05:57:30 ID:???]
>>583
GUIでなんでも済ませられるし(細かいところはソース直書きだけど)、かなり楽だと思うよ
でもイベントとかプロパティとかVB扱ったことないと、戸惑うことが多いかも

いきなりASP.NETをするよりVB2005とか2008の参考書買って勉強した方がいいかも

585 名前:nobodyさん mailto:sage [2008/06/04(水) 18:23:30 ID:???]
>>583
パソコン教科書 Microsoft Visual Web Developer 2005 Express Edition入門
がオヌヌメって書こうと持ったら、すでに2008のがでてますね。
2005の方しか内容知らないけど、初心者のオイラにはすんげー役に立ったよ。

586 名前:583 [2008/06/05(木) 00:38:53 ID:HpXjKLmr]
>>584
>>585
有難うございます。
「10日でおぼえるASP.NET 2.0」って本を買ってみたんですが、
本を見ずにもう一度同じ様に書けるか、となると、もうさっぱりorz

コツコツやってみます。

587 名前:nobodyさん mailto:sage [2008/06/05(木) 14:01:10 ID:???]
VS2008std ターゲット.net3.5で開発しています。

新しいプロジェクトで 「ASP.NET Web アプリケーション」を作成したのですが、

デザインモードに切り替え、ツールボックスからLabelをD&Dしたのですが
ドロップできません。(ドロップ無効のカーソルに変わる)
ソースに直に記述 <asp:Label〜 してもデザイナ上ではエラーになります。
しかし実行は可能でブラウザでも表示されている。

ファイル→新規作成→Webサイトの「ASP.NET Web サイト」でプロジェクト?を作成すると
Labelなどの標準コントロールがドロップできます。

「Web アプリケーション」プロジェクトでは標準コントロールは使えないのでしょうか?

588 名前:nobodyさん mailto:sage [2008/06/05(木) 14:19:50 ID:???]
>>587
俺の所では新しいプロジェクトから
ASP.NET Webアプリケーション
選んでも問題なくラベル貼れるけど。


589 名前:nobodyさん mailto:sage [2008/06/05(木) 14:59:51 ID:???]
>>588
えぇっ!
じゃぁ環境の問題なのか・・・

なにか悪いことしたかなぁ
VS2005も共存してるのがまずいのかなぁ

とりあえず再インストールしてみます。

590 名前:587 mailto:sage [2008/06/05(木) 16:04:17 ID:???]
原因がわかりました。

WebApplicationを作成したフォルダ名がまずかったみたいです。
C#Testフォルダに作成するとドロップできないみたいです。
#という文字がいけないのかもしれません。

本当にありがとうございました。



591 名前:nobodyさん mailto:sage [2008/06/05(木) 16:32:40 ID:???]
>>582
ASPのラベルってHTMLに展開されると
ただのインライン要素(<span>)とかになっちゃうじゃないですか。

その場合、JavaScriptでテキストを変更できますか?
InnerHTMLとか試してみたんですが、IEはできるけどFirefoxでは
できなかったりで、結局諦めちゃったんですけど。

592 名前:nobodyさん mailto:sage [2008/06/05(木) 17:47:11 ID:???]
css設定して、これでFireFoxでもおkwww って思ってたら
Mac標準のSafariで全然駄目・・・ menuコントロールつかえねー orz

593 名前:nobodyさん mailto:sage [2008/06/06(金) 13:19:55 ID:???]
>>591
DOM。

594 名前:nobodyさん mailto:sage [2008/06/06(金) 18:33:09 ID:???]
郵便番号を入れると住所が途中まで(市町村くらいまで)出てくるような
ユーザ登録ページがよくありますが、あれは何らかのパッケージプログラム
のようなものを利用しているのでしょうか?

それともSQLサーバーとかに全部の郵便番号と住所を取り込んでいるのでしょうか?

595 名前:nobodyさん mailto:sage [2008/06/06(金) 19:52:40 ID:???]
大抵、郵便局が作ってくれるCSVをまんまDBに取り込んでるだけじゃないの?

596 名前:nobodyさん mailto:sage [2008/06/07(土) 00:05:51 ID:???]
メール配信システムを作っているんだけど。配信先リストは登録画面で配信情報を入力するときfileUploadコントロールを使いCSVで読み込む。
画面は 登録画面→確認画面→登録というようにして画面はMultiViewを使いたい。
MultiViewを使えば画面間の情報の受け渡しは楽なのだがfileUploadで読み込んだリストはどうやって保持するか、途中で処理をやめてもゴミデータが残らない方法ってない?

597 名前:nobodyさん mailto:sage [2008/06/07(土) 04:14:30 ID:???]
途中で止まって困るならトランザクション使えばいいんじゃまいか?

598 名前:nobodyさん mailto:sage [2008/06/07(土) 11:14:01 ID:???]
>>597 参考ページ無いい?

599 名前:nobodyさん mailto:sage [2008/06/07(土) 14:32:51 ID:???]
>>594
ウェブサービス

600 名前:nobodyさん mailto:sage [2008/06/07(土) 15:50:23 ID:???]
>>596
ViewStateで保持すればいいので?



601 名前:nobodyさん mailto:sage [2008/06/07(土) 16:25:08 ID:???]
>>599
もうちょっと詳しく教えてください。
どこかが提供しているwebサービスを使うという意味ですか?

602 名前:601 mailto:sage [2008/06/07(土) 16:39:50 ID:???]
601取消。
検索したら郵便番号のWebサービスはたくさんあるようでした。

郵便番号データベースは12万件のレコードがあるらしい。
普通のasp.netのDB処理するとパフォーマンスが心配。

こういう大きなテーブルを高いパフォーマンスで処理するには
どんな技がありますか?
サーバ起動時に予めメモリ上のDataSetに読み込んでおいたら
激速になりそうですが、そういうことはできますか?

www.post.japanpost.jp/zipcode/dl/kogaki.html

603 名前:nobodyさん mailto:sage [2008/06/07(土) 16:42:28 ID:???]
12万件程度なら全然大きくない。

604 名前:nobodyさん mailto:sage [2008/06/07(土) 17:07:49 ID:???]
むしろ小さいね

605 名前:nobodyさん mailto:sage [2008/06/07(土) 17:08:30 ID:???]
>>602
つ「適切なINDEX作成」
つ「実行計画確認」

606 名前:nobodyさん mailto:sage [2008/06/07(土) 18:29:25 ID:???]
>>602
Webサービスを利用するならDB処理なんて必要ないわけで。
(自前でDB用意するなら指摘されてるようにインデックスを作ることになるかと。)


607 名前:nobodyさん mailto:sage [2008/06/07(土) 23:26:09 ID:???]
>>603-606
ありがとうございます。
割とシンプルな処理のようなのでSQLにインポートして
インデックス作ってみます。

608 名前:nobodyさん mailto:sage [2008/06/08(日) 00:10:11 ID:???]
AjaxZIP使ってサーバサイドから分離しちまうのが一番手軽では

ってそれだとスレ違いか

609 名前:nobodyさん mailto:sage [2008/06/10(火) 15:32:26 ID:???]
社外へほいほいアクセスできる環境も少ないしね。
ってイントラの話じゃない?

610 名前:nobodyさん mailto:sage [2008/06/10(火) 21:50:34 ID:???]
ASP.NETってIFRAMEで別のサイトを表示とかしても問題ないのでしょうか?



611 名前:nobodyさん mailto:sage [2008/06/10(火) 22:52:01 ID:???]
ほとんどプログラム言語に触れたことが無くて、
2週間前までASP.NETが何なのか知らなかった状態から
言語はC#で、という縛りもつけて
「やれ」という指示で課題に取り組み始めたんですがさっぱり。

参考書籍を買おうかと思っているんですけど
ASP.NETの参考書でオススメのものってありますか?

612 名前:nobodyさん mailto:sage [2008/06/11(水) 01:07:01 ID:???]
Visual Studio 2005によるWebアプリケーション構築技法

613 名前:nobodyさん mailto:sage [2008/06/11(水) 08:31:41 ID:???]
MovableTypeのように、
ページやコントロールで出力されるHTMLをファイルに出力したいのですが
出力されるHTMLはどうやれば取得できるのでしょうか?

614 名前:nobodyさん [2008/06/11(水) 22:38:50 ID:wlI2c4q6]
質問よろしいでしょうか。
Visual Web Developer 2005 Express Edition でウェブページ作成の勉強をしてます。
そこで、ぐぐってもわからない問題が出てきました。
データベースSQLserverの情報をページ上に表示するのに、
DataSetのTableAdapter、ObjectDataSource、GridViewを用いて表示しています。
表示の際、検索で表示させるためにTableAdapterで検索パラメータを持つクエリを追加し、
ObjectDataSourceでそのクエリを選択してGridViewに表示させようと試みました。
そこでObjectDataSourceでクエリを設定する時に、パラメーターソースの選択の設定を
するのですが、そこのDefaultValueの設定を何も設定しない場合、デバッグでのページ表示
でエラーが起こってしまいます。
エラーについては
「System.ArgumentNullException: 値を Null にすることはできません。」
と表示されます。

どなたかこのエラーの原因についてわかりませんでしょうか?
ちなみに色々試してみると検索する項目がint型の場合はエラーが起きず、DefaultValueを
設定していなくても、値が0で検索され表示されるようです。

615 名前:nobodyさん mailto:sage [2008/06/12(木) 05:47:44 ID:???]
>>614
デフォルト値をブランクにしないで、
何か適当に設定すればいいんじゃね?


616 名前:nobodyさん mailto:sage [2008/06/13(金) 10:47:27 ID:???]
XMLファイルをDataSetに読み込んで、加工(アンカーをつけたり)して
ページに表示しているサイトなのですが、
アクセスが集中(1秒間に10〜20アクセス)すると使用メモリが極端に大きくなり
しまいにはすべて403エラーになってしまいます。

こういう場合、どのように回避すれば良いでしょうか?

そのページのアンカーからはパラメータを渡して
また同じページにリンクしています。

検索エンジンが来るとサーバが落ちてしまい、
困っています。

617 名前:nobodyさん mailto:sage [2008/06/15(日) 00:28:40 ID:???]
あのさー、せめてどの程度のデータをDataSetに入れてるとか、
アンマネージドなリソースの有無とか説明してくれないと・・・

618 名前:nobodyさん mailto:sage [2008/06/15(日) 00:49:01 ID:???]
>617が言うとおり状況がよくわかんねえけど、
DataSetをキャッシュするかページをキャッシュするかどっちかしたら。

619 名前:616 mailto:sage [2008/06/15(日) 12:10:06 ID:???]
>>617-618
すみません、DataSetに読み込んでいるデータ量は200KB程度のXMLです。
アンマネージドのリソースはありません(DBなし)。

ブログのように毎日の報告をリンク付きで表示していて、
その固まりを10日分表示しています。

キャッシュですね、考えてみます!
ありがとうございました!

620 名前:nobodyさん mailto:sage [2008/06/17(火) 19:41:06 ID:???]
FormView の ItemTemplateにDropDownListを入れて
そのDropDownListに DataSourceの指定とかしたいんですが出来ません。

((DropDownList)HeaderFormView.FindControl("List")).DataSource = DS
((DropDownList)this.HeaderFormView.Row.FindControl("List")).DataSource = DS

上記2個試しましたが、オブジェクトがインスタンスされていません。 とエラーになります。
FormView の ItemTemplateはどの時点で有効になったりとか調べたり出来ませんか?



621 名前:620 mailto:sage [2008/06/17(火) 21:19:54 ID:???]
自己解決 4時間もかかったよ・・・
FormVireのItemTemplateはPageLoadではまだいないみたいで
使いたいコントロールのprerenderでDataSourceを指定したらうまくいきました。

まだまだ知識が足りないと実感した日だった・・・

622 名前:nobodyさん [2008/06/18(水) 20:28:21 ID:HnUDlBar]
開発環境から運用環境へWebサイトの発行をしました。
ところが運用環境ではGACの参照設定ができてないようです。
Web.configに記述はあります。
運用先環境にこの参照設定を追加するにはどうしたらいいでしょうか。エスパーしてください。

追加したいのは以下の参照
<add assembly="Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxx"/></assemblies></compilation>


623 名前:nobodyさん mailto:sage [2008/06/18(水) 20:32:52 ID:???]
【環境】
ASP.NET
.NET Framework2.0
OS:Windows2003R2
IIS:6.0
です。

624 名前:nobodyさん mailto:sage [2008/06/18(水) 22:28:59 ID:???]
Webインストーラ組み上げて、GACに登録するようにすれば?

625 名前:nobodyさん mailto:sage [2008/06/19(木) 17:14:38 ID:???]
VS2008 でWebアプリを作っているのですが
VSに付属しているASP.net WEBサイト管理ツールでログインユーザを作成しようと
「セキュリティ」タブをクリックすると、SQL Serverがないと叱られました。

このWEBサイト管理ツールを使うにはSQL Serverが必須なのでしょうか?

626 名前:nobodyさん mailto:sage [2008/06/20(金) 16:30:05 ID:???]
>>625
ログインユーザの登録管理をSQLでやってるから必要ですね。

627 名前:nobodyさん mailto:sage [2008/06/20(金) 17:08:53 ID:???]
>>626
そうなんですか、勝手にmdbファイルでも作成されると誤解してました。
ありがとうございました。

628 名前:nobodyさん mailto:sage [2008/06/22(日) 13:06:38 ID:???]
<俺用メモ>
ICallbackEventHandlerの使い方
・指定のメソッドを実装する
・テーブルにSELECTかけてDataSetに読み込んだ後、
 return DataSet.getXMLで文字列をJScriptに返してから、
 new ActiveXObject("MSXML2.DOMDocument");で
 resultを読み込んでやればおk
・ボタン押下なんかのイベントにしこむと
 押下時に画面更新が発生する件は
 Me.Button1.Attributes.Add("onclick", callbackRef & ";return false;")
 と、return false;を追加してやればおk

VB側からJScriptを呼び出すのは、無理っぽい。
</俺用メモ>

629 名前:nobodyさん mailto:sage [2008/06/22(日) 16:39:00 ID:???]
畜生!俺がバカなだけだがMS死ね!何が__pendingCallbacksだ!
ソリューション見ても意味が全然わからねぇ、MS死ね!

630 名前:nobodyさん mailto:sage [2008/06/22(日) 17:23:20 ID:???]
VBが既に時代遅れなのです



631 名前:nobodyさん mailto:sage [2008/06/22(日) 17:53:57 ID:???]
フォームのテキストボックスに入力した値をDBに登録する、って処理をするときにHTMLエンコードとかした方がいいものですか?
必要ならしなかった場合にどんな危険性があるでしょうか?

632 名前:nobodyさん mailto:sage [2008/06/22(日) 18:01:30 ID:???]
>>631
クロスサイトスクリプティングの危険があるんじゃなかったっけ。
ユーザ入力のはしつこいぐらいチェックしたほうがいいよ

633 名前:nobodyさん mailto:sage [2008/06/22(日) 19:37:14 ID:???]
>>631
チェック不要で何でも突っ込んでOKな仕様なら不要だろ。
入力値のクリーニングが少しでも必要との認識があるなら、
>>632の対応で良いとオモ。




634 名前:nobodyさん mailto:sage [2008/06/22(日) 21:49:19 ID:???]
>>631
DB格納時にわざわざHTMLエンコードした文字入れるのは止めましょう。
実際のHTML生成時に必ずHTMLエンコードするようにしてください。

中途半端にならずに納得できるまで調べると理由も理解できるかと。

635 名前:nobodyさん mailto:sage [2008/06/23(月) 11:10:40 ID:???]
VS2008です
実行後の画面に差異が生じます。

1.デザイン画面ではCSSが適用された見た目になります。
2.デバッグ実行のブラウザではCSSが適用されない見た目になります。
3.ブラウザでIISを通してみるとCSSが適用された見た目になります。

デバッグ実行(仮想サーバ?)ではCSSは適用されないのでしょうか?

aspxファイル、cssファイルは同一のディレクトリにあり、パスの間違いではなさそうです。

636 名前:635 mailto:sage [2008/06/23(月) 15:15:53 ID:???]
特徴としてマスターページを使用しています。

637 名前:nobodyさん mailto:sage [2008/06/23(月) 15:49:01 ID:???]
>>635
デバッグ環境での実行時だけ、
cssまでのパスが辿れないとか
そういうオチなんじゃね?

アドレスバーにcssファイルのパス記述して、
参照できるか確認してみたら?


638 名前:nobodyさん mailto:sage [2008/06/23(月) 21:48:45 ID:???]
フォーム認証で許可してなかったわっとか

639 名前:635 mailto:sage [2008/06/24(火) 08:59:10 ID:???]
>>637,638
アドレスバーにcssファイルのパスを打ち込んだところ
古いCSSが出てきました。
インターネット一時ファイルをすべて削除したらデバッグでもCSSが適用されました。
ありがとうございました。

640 名前:nobodyさん [2008/06/24(火) 14:48:16 ID:t/jniRHC]
ボタンコントロールに
Attributes.Add( "onclick", "window.open('hogehoge.aspx?id=0&type=test');";
でクライアントスクリプト登録したところクエリ文字列を結ぶ&が&にエンコードされちゃうんですけど
回避可能な方法または別な登録方法はありますでしょうか?

Attributes.Add( "onclick", @"window.open('hogehoge.aspx?id=0&type=test');";
でやってもだめでした。

ASP.NET
Framework2.0
C#





641 名前:nobodyさん mailto:sage [2008/06/24(火) 14:49:23 ID:???]
なんか変になったので全角で書きます。。
>クエリ文字列を結ぶ&が&amp;にエンコードされちゃうんですけど

642 名前: [―{}@{}@{}-] nobodyさん mailto:sage [2008/06/24(火) 16:22:53 ID:???]
>>640
.OnClientClick

643 名前:nobodyさん mailto:sage [2008/06/24(火) 20:46:20 ID:???]
>>640
何がしたいの?
&amp;を渡したら、&amp;amp;になるってのはさすがに
困るかもしれないが&が&amp;になっても構わないのでは。

644 名前:640 mailto:sage [2008/06/24(火) 21:49:51 ID:???]
Attributes.Add( "onclick", "window.open('hogehoge.aspx?id=0&type=test');";
で実行するとHTMLに以下の様に展開されてしまいます。

onclick="window.open('hogehoge.aspx?id=0&amp;type=test')"
となってしまいQueryStringの「type」が正しく取得できないのです。。


645 名前:nobodyさん mailto:sage [2008/06/24(火) 22:55:44 ID:???]
Attributes.Addよりも>>642が教えてくれたように
OnClientClickプロパティにJavaScript書く方がスマートだね。

で,ちょっと実験してみたけどAttributes.AddでもOnClientClickでも
確かに&amp;にエンコードされる。
けどどちらにしてもtypeの値は正しく取得できたよ?

以下,テストに使ったコードのサンプル
(インデントは全角スペースに置換したため注意)

protected void Page_Load(object sender, EventArgs e)
  {
    //以下の2行はどっちでも同じHTMLを出力される
    //Button1.Attributes.Add("onclick", "window.open('Default.aspx?id=0&type=test');");
    Button1.OnClientClick = "window.open('Default.aspx?id=0&type=test');";
    
    //GETパラメータの全てのキーと値をタイトルに設定
    foreach (string key in Page.Request.QueryString.Keys)
    {
      Page.Title += ":" + key + "=" + Page.Request.QueryString.Get(key);
    }
  }

ボタン(Button1)一個貼り付けて実行してみればわかるかと。

646 名前:640 mailto:sage [2008/06/24(火) 23:35:47 ID:???]
ありがとうございます。

>>645さんの動作確認ブラウザはIEでしょうか?
当方でもIE6では&amp;でエンコードされていてもtypeの値は取れました。
ただFirefox2.0ではNull参照例外が発生したため、困惑している次第です。
エンコードされていても取得できるのが正しいのか正しくないのか。。。

p.s.
OnClientClickの件、ご指摘ありがとうございます。

647 名前:nobodyさん mailto:sage [2008/06/25(水) 00:08:24 ID:???]
>>646
Null参照例外?ASP.NET側の?
文字列がURLエンコードされていても、
それをQueryStringとして処理するのはサーバー側だぞ。
普通、ブラウザは関係ない。
もし、変数を代入したりしているなら>>645の通りベタ打ちしてみたら?

ちなみにFirefox2.0、Win2k、ASP.NET2.0、VS2005で
検証してみたがなんのエラーも出ずに正常動作した。

648 名前:nobodyさん mailto:sage [2008/06/25(水) 01:55:55 ID:???]
>>646
エンコードされるのが正しい。わりとそのへんいい加減ではあるが、
エンコードされてない&は、犬に食われて無くなっても文句は言えない。

649 名前:nobodyさん mailto:sage [2008/06/25(水) 05:10:01 ID:???]
いわゆる 標準 だな

650 名前:nobodyさん mailto:sage [2008/06/25(水) 21:23:32 ID:???]
ASPからASP.NET2.0に移行したんですが、ASPより体感で遅くなりました。
ASPならほぼ瞬時に切り替わるページが、.NETだと1〜2秒かかります。
SQL server profilerを見ていると、
DBとのやり取りは比べ物にならないくらい速くなっているので、
レンダリング周りだと思うのですが、そんなものなのでしょうか?
(初回コンパイルで遅いのではなく常にです)

GridViewにバインドする際に整形したいので、
dateFormatter(eval("YYYYMM"))のようなことはやっていて、
ヘルプを読むとevalはパフォーマンスに影響するというのを見ましたが、
原因はこれだけとも思えず…。
というか、eval使わないとなるとRowDataBoundイベントで1セルずつ
整形処理とかおよそ.NETらしくないように思いますし。



651 名前:nobodyさん mailto:sage [2008/06/25(水) 22:59:29 ID:???]
せめて列数とか件数とか、ViewStateが巨大になってないかとか
認証とかどうなってるのかとか、トレースやデバッグ設定どうなってるのとか
VS上かIISかとか
あーだこーだ


652 名前:nobodyさん mailto:sage [2008/06/25(水) 23:38:16 ID:???]
全体的に遅かったので、抽象的な質問になりました。すみません。
特に遅い画面といえば、10列 x 100行程度の一覧画面で
ローカルでの表示でも5秒程度かかります。
※クライアントの意向によりページングは使用していません
 ASPのころは同様の列、行数で切り替わりは1秒程度。

認証はwindowsで偽装はfalseにしています。
本番機でのtrace、debugはもちろんfalseですが、
bufferingはtrueにしています。
サーバースペックはCPUがXeonでメモリ4G程度としか知りません。
ViewStateのサイズは確認していませんでした。
bufferingもtrueにしていることですし、調べてみることにします。
ありがとうございます。

653 名前:nobodyさん mailto:sage [2008/06/25(水) 23:53:07 ID:???]
連投すみません。5秒は言い過ぎでした。多分3秒くらい。

654 名前:nobodyさん mailto:sage [2008/06/27(金) 00:30:25 ID:???]
DataSetの扱いが悪いとか

655 名前:nobodyさん mailto:sage [2008/06/27(金) 00:34:39 ID:???]
とりあえずtrace有効にして怪しいとこがないか見てみたら。
そんなデータ量で何秒とか明らかにおかしいと思う。


656 名前:645 mailto:sage [2008/06/27(金) 22:44:24 ID:???]
>>646
返事が遅くなってすまん。
こっちで確認したのはIE7とFirefox3でした。

今別の(Firefoxが入っていない)PCにFirefox2をクリーンインストールして
試してみたけどやっぱり正常にtypeの値取れたよ?なにか別の原因かと。

>>647
確認thx

657 名前:nobodyさん [2008/06/29(日) 13:39:00 ID:u/QaY2OJ]
テーブルアダプターを作り
それをaspxのObjectDataSourceコントロールのデータソースの構成から
作ったテーブルアダプターを紐づけたいのですが
ビジネスオブジェクトの選択のコンボボックスの中にも表示されず
プロパティのTypeNameに直接テーブルアダプター名を打ち込んでも
読み込めませんでしたとエラーが出てしまいます。
スペル間違えは確認しましたがそれはなく、迷っています
どなたか解決方法を教えていただきませんか? 宜しくお願いします。
VS2005+VB+Oacle9iです

658 名前:nobodyさん mailto:sage [2008/06/29(日) 20:55:10 ID:???]
DataListを使って一覧表示しています。
文字列を表示するときに、Labelを使うと、文字列の中に改行文字があっても、改行してくれません。
イメージとしては、掲示板の本文みたいな表示しにしたいのですが、
ItemTemplateとしては、何を使うべきなのでしょうか?

659 名前:nobodyさん mailto:sage [2008/06/29(日) 22:59:01 ID:???]
<br>に置換すれば?


660 名前:nobodyさん [2008/06/30(月) 23:02:12 ID:CMrqWlxQ]
webサイトを作ろうとやっているわけなんですが、
アップの後に確認してみたところ、どうしても
Parser Error Message: Could not load the assembly 'App_Web_default.aspx.cdcab7d2'. Make sure that it is compiled before accessing the page.
と出てきてしまい
<%@ page language="C#" autoeventwireup="true" inherits="_Default, App_Web_default.aspx.cdcab7d2" %>
が悪いと出てくるわけなんですが、どうすればいいのか理解ができない状況です・・・

もし、ここが悪いんじゃね?っていうのがあれば教えていただければ幸いです。




661 名前:nobodyさん [2008/07/02(水) 06:22:34 ID:vJfryalk]
ASP.NETこれからはじめようとおもっていて、
色々なサイトを巡り情報を収集しています。
Webアプリ開発人口がWindowsなどのアプリケーション開発者に比べて少ないようで、
多くのサイトで、Webアプリが普通のWindowsアプリケーションと比べて、
+α覚えないといけないので難しいとか、イメージが沸きにくいと書かれていました。
ASP.NETはそのような従来のWindowsアプリなどの開発者に最適で、
同じような感覚でWebアプリが書けるといったことも随所で書かれていました。
私はこれまでにPHPしかやったことがなく、
Windowsのアプリケーションなんてどういうものか想像すらつきません。
最初からWebアプリにしか興味がなく、Webアプリしか作ったことがないような人間には、
ASP.NETは理解しづらいものなのでしょうか?
PHPユーザーのためのASP.NET入門のようなサイトがあったら是非教えてください。

662 名前:nobodyさん mailto:sage [2008/07/02(水) 08:50:36 ID:???]
逆に>>661さんに聞きたいんだけど、なんでASP.NETをやろうと思ったの?
Webアプリ作りたくてPHPを習得済みならPHPでいいんじゃないかと思うけど、


663 名前:nobodyさん mailto:sage [2008/07/02(水) 23:10:09 ID:???]
PHPでafter Railsなフレームワークを使っていたのなら、
むしろASP.NET MVCとかの方が理解しやすいかもね。

664 名前:661 mailto:sage [2008/07/03(木) 01:03:09 ID:???]
レス遅くなってすみません。

>>662
趣味の延長線です。
より多くのことをやってみたいというだけの理由です。
他の言語(C#)をさわってみたかったというのも理由です。

>>663
フレームワークは使ったことがありません。
正確には昔CakePHPに手をつけましたがどうにも理解できませんでした。
PHPでもオブジェクト指向が中途半端にサポートされていて、
オブジェクト指向的な書き方や、使い方はできるのですが、
独学でやってるもので、オブジェクトとして正しいものがかけているのかは疑問があります。
ASP.NET MVCというのははじめてききました。
そういったものがあるなら、CakePHPをもう一度勉強してみたいと思います。

フレームワークについては全くといっていいほど知らないので、そちらの習得を最優先したいと思います。

665 名前:nobodyさん mailto:sage [2008/07/04(金) 23:12:52 ID:???]
>>664
そういう理由なら、.NETのWindowsアプリに挑戦した方がいいよ。
ASP.NETにいきなり入ると覚えることが多すぎて頓挫しやすい。
.NETには独特の知識が必要だから、まずは.NETそのものに慣れることを勧めたい。

666 名前:nobodyさん mailto:sage [2008/07/06(日) 00:33:38 ID:???]
<%%>で時刻をバインドしたいけどできますか?

667 名前:nobodyさん mailto:sage [2008/07/06(日) 01:00:27 ID:???]
何の時刻を何にだよ






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<244KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef