【質問】ASP.NETスレ Part4【議論】
at PHP
1:nobodyさん
07/07/17 23:49:46 pyJr9yIy
●過去ログ
Part1 - 【質問】 ASP.NETスレ 【議論】
URLリンク(pc5.2ch.net)
【質問】ASP.NETスレ Part2【議論】
スレリンク(php板)
【質問】ASP.NETスレ Part3【議論】
スレリンク(php板)
2:nobodyさん
07/07/17 23:50:28 pyJr9yIy
ASP.NET Developer Center
URLリンク(www.microsoft.com)
MSDN
URLリンク(www.microsoft.com)
Visual Studio 2005 Express Edition
URLリンク(www.microsoft.com)
ASP.NET Web Matrix Project
URLリンク(www.microsoft.com)
Microsoft ASP.NET クイック スタート チュートリアル
URLリンク(ja.gotdotnet.com)
3:nobodyさん
07/07/18 00:29:51
>>1-2
A乙P.NET
4:nobodyさん
07/07/18 01:17:05
>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さん
07/07/18 01:27:49
だからその辺を効率よくやりたいときはクライアント「でも」チェックしたりする。
6:nobodyさん
07/07/18 03:41:17
You、Validator使っちゃいなYO
Response.Writeがどうとかチェック用JavaScriptがどうとか言ってるけど
ASP.NETならペタペタコントロールはりつけてやるのが楽なんじゃないの?
7:nobodyさん
07/07/18 09:23:25
>>4
この手の質問する奴って大抵「クライアントの為に」って
言葉使うんだけど実際には「自分の為に」なんだよな。
エラーチェックに関しても、クライアント側とサーバ側両方で
対応しとけば「クライアントの利便性とデータの正確性」両方
とも網羅できるのに。
8:nobodyさん
07/07/18 11:03:13
入力エラーの度に再描画なんてされたらむかつかない?
9:nobodyさん
07/07/18 12:03:56
このサイトを参考にカレンダーコントロールを英語化したのですが
< > ← このリンクにマウスを合わせたときに「前月に移動」「来月に移動」という
ツールチップが表示されます。
各日付のツールチップは英語化できたのですが、「前月に移動」「来月に移動」を英語にすることは可能でしょうか?
URLリンク(forums.microsoft.com)
10:nobodyさん
07/07/18 17:27:48
別プロジェクトにあるカスタムコントロールを使用することは不可能でしょうか?
共通オブジェクトのみを集めたプロジェクトを作成し、画面とかカスタムコントロールとかクラスとか
いろんなプロジェクトで使えるようにしたのですが、何故かカスタムコントロールだけ別プロジェクトから利用できません。
「仮想パス '*/test/test1.ascx' がほかのアプリケーションに割り当てられていますが、これは許可されていません。」
というエラーが発生してしまいます。
プロジェクトをまたがるカスタムコントロールの使用は出来ないのでしょうか?
共通部品化出来れば便利なんだけど、そういう考えは普通じゃないのかな・・
11:nobodyさん
07/07/18 22:04:51
>別プロジェクトにあるカスタムコントロールを使用することは不可能でしょうか?
残念ながら不可能だと思われます。
「共通で利用する部品を作りたい」という目的は
カスタムサーバーコントロールを開発することで達成できますが,
ほんのちょっぴり敷居は高くなります。
お互いがんばりましょう。
>共通部品化出来れば便利なんだけど、そういう考えは普通じゃないのかな・・
普通です。ただしUIが関係する部品はビジネスロジック層以降の共通化に比べるとメリットが小さいと思います。
12:前スレ986
07/07/19 11:40:25
前スレ>>993
教えていただいたことを参考に、ヤフーの wsdl ファイルの中身の属性などを
いろいろ変更してみたりしたんですが、wsdl.exe だとどうしてもちゃんとした
プロキシクラスが生成されませんでした。
wsdl ファイルの最後に gsoap とあったのでそれを試してみたところ、
単数でしか受け取れなかったものを、しっかり複数で受け取れるような
クラスを生成してくれたので、こちらを使ってみることにします。
どうもありがとうございました。
SOAP を使うと互換性を気にせずに簡単に組めるかと思ったんですが、
そうでもなかったみたいですね><
13:nobodyさん
07/07/19 22:07:16 t+6ymqWH
aspxにRequestで受け取った値を出力したいのですが可能でしょうか?
例えば、AタグのHREFにURLを指定しますが、そこのパラメータにRequestで受け取った値をセットしたいのです。
Aタグをサーバコントロールにして、csでセットするというのは出来るのですが、aspxで出来たら手っ取り早いので。。
例)
<a href="top.aspx?id=<% Response.Write(Request["id"]); %>">Top</a>
14:nobodyさん
07/07/20 17:13:03 dtQ5f3a5
HttpSessionStateって勝手にWeb.configのsessionStateタグを読みますが
Web.configじゃなくて他のファイルを読ませたい場合はどうしたら良いでしょうか?
Web.configってプロジェクト単位で出来ちゃうから、色んなプロジェクトで共通につかっているファイルを読ませたいんです。
15:nobodyさん
07/07/20 22:09:50
>>14
構成ファイルの階層と継承の仕組みを考えると,
システム共通の設定はmachine.configで定義するだけで良いし
関連アプリケーション共通の設定ならフォルダ構成をきちんと管理すれば良い。
16:nobodyさん
07/07/21 10:43:46 u6ArajqG
>>13
<%= Request
17:nobodyさん
07/07/21 10:45:50
>>9
可能
なんもかんでもとりあえず聞かずに
実現方法を少しは自分で考えてね。
18:nobodyさん
07/07/21 10:48:50
>>8
意味不明
「クライアント側でも」の意味が分かってないのか?
とりあえずWEBの基本でも勉強した方がいいよ。
19:nobodyさん
07/07/21 16:36:49 LDWi9U5y
ASP.NET2.0で SessionのTimeout時点で処理を行うようにしたいです。
SessionモードはStateServerを使用しています。
すべてのセッションがタイムアウトしているかどうかを監視するサービスを作る必要があるのか
と思ったのですが
簡単に実現する方法はありますでしょうか?
アプリケーション上ですべてのセッションの状態を見ることはどのようにすればできるでしょうか?
HttpApplicationからは自分のセッションしか見れないように見えました。
20:nobodyさん
07/07/22 00:52:26 zWRToYk9
VB8ってVS2005で開発するVB.NETのこと?
21:nobodyさん
07/07/22 09:42:13
VisualBasic(VisualStudio).NET(2002)= 7
VisualBasic(VisualStudio).NET 2003 = 7.1
VisualBasic(VisualStudio).NET 2005 = 8
VisualBasic(VisualStudio).NET 2008 = 9
わからなかったら検索する癖つけような。
WikiPediaに載ってた。
22:nobodyさん
07/07/22 12:41:22
よくグリッドのヘッダがクリックできるようになってて
クリックすることでそのヘッダでソート出来るというものがありますが
これてクリックしたイベントでSQL発行してソートさせてるんでしょうか?
それともDataTableのメソッドでソート処理が出来るのでしょうか?
23:nobodyさん
07/07/22 15:06:21
GridViewのソートを自作するのなら
DataTable(DataView)を並び替えようが
SQL発行しようが好きなようにやればよい。
24:nobodyさん
07/07/22 21:07:17
>>19
そもそも、ASP.NETに関わらず自分のセッション情報以外に
アクセスできるのはセキュリティ的に問題があるので
実装されている方が珍しいと思います。
とりあえず、「すべてのセッションがタイムアウトしているか」なら
SessionモードはStateServerでも確かApplication_OnEndが動いたはず。
コレで代用できるのなら利用してみたら。
あとは、
「すべてのセッションがタイムアウトしているかどうかを監視するサービス」
と言うのをどう言う風に想定してるのか分からんが、
セッション情報をDBにでも書き出しておいて作れば良い。
ASP.NET パフォーマンス カウンタでアクティブなユーザー セッション数が
取得できているから、外部から取得する方法もあるかも知れんが。
URLリンク(technet2.microsoft.com)
25:nobodyさん
07/07/22 22:12:21
つい最近までレガシーASPしかやってなかったが、
.NETを使わないとそろそろ…と思いいじりはじめたところ
初歩的なWEBフォームを.NETで作ろうとして悩み中。
レガシーASPでは、
入力画面(html)→入力値のチェック&確認画面の表示(ASP)→DBへ入力値の登録&確認メール送信&登録完了画面の表示(ASP)
という感じでチマチマやってたのを
ASP.NETじゃどうやりゃいいんでしょか?
ググってみたものの、案外そういうもののサンプルが見つかりません。
もっと高度そうなスケジューラとか在庫管理とかならあるんですが、
なにか手がかりあれば、教えていただけると助かります。
26:nobodyさん
07/07/22 22:54:06
>392
ググって見つからないなら本屋行け。
仮にもASP経験してこの程度のことで人の手借りるのは手抜きにも程がある。
27:nobodyさん
07/07/22 22:55:18
↑、>25だ
28:nobodyさん
07/07/22 23:27:09
Eval()とDataBinder.Eval()の違いがいまいち分からないのですが。
それぞれの使いどころを教えていただけないでしょうか?
29:nobodyさん
07/07/22 23:32:46
>>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さん
07/07/22 23:54:09
>>29
ご丁寧な解説どうもありがとうございます。
教えていただいた内容をふまえてがんばります。
ここ1週間ほど本屋を5〜6軒まわりASP.NET初心者向けを3冊ほどは買ったのですが
GridViewやFormViewを使った割と高度なシステムの例はあっても
案外こういう低レベルに見えた受付フォームみたいなものの例がなく、
悩んでおりました。
31:nobodyさん
07/07/22 23:55:11
レガシーASPはどういう意味ですか?
普通のASPと違うの?
32:nobodyさん
07/07/23 00:05:24
>>28
DataBinder.Eval(Container.DataItem, "aaa"と
Eval("aaa")の違いって事か?
上記の事なら詳しく説明するの面倒なので簡単に言えば「同じもの」
>>31
legacyの辞書的な意味は『遺産、遺物』。
コンピュータの世界では古い技術であるが現在まで残っている技術
33:19
07/07/23 00:05:44
>>24
レスありがとうございます。
セッションがタイムアウトしたら、連携するシステムに対して
ユーザがいなくなったことを通知しなければいけないので
DB使わずにASP.NET組み込みのイベントなどで簡単にできないのかな?と思いました。
「すべてのセッションを監視して、タイムアウトしたセッションに対して処理を実行したい」が正しい記述でした。
申し訳ないです。
素直にDBに格納する方が楽なようです。
サンプル セッション状態ストア プロバイダ
URLリンク(msdn2.microsoft.com)(VS.80).aspx
とか参考にして何とかなりそうです。
> 「すべてのセッションがタイムアウトしているかどうかを監視するサービス」
> と言うのをどう言う風に想定してるのか分からんが、
同一アセンブリ内で監視サービスでセッションを監視しようとしていましたが
AppDomainのアンロードと共に監視対象がリセットされてしまうため、うまくないなぁと。。
アプリケーション状態の保存にもちょっとだけSessionServer使わせてよ。と思ったけど、
現在のHttpContextを元にSessionStateの実装が想定されているので無理でした。
34:nobodyさん
07/07/23 06:47:10 srWGE4oQ
SqlDataSourceよりObjectDataSourceのほうが機能がよさげなんですが
SqlDataSourceを使うメリットはあるんでしょうか?
35:nobodyさん
07/07/23 14:26:55
>>34
SqlDataSourceをGridViewに使えば、
単一のテーブルであれば「ソート」「ページング」「更新」「削除」を
自動的に作成してくれます。
まぁ、ObjectDataSourceとかDataSourceへDataTableとかじゃないと
複雑なロジックには耐えきれないとは思うが。
36:nobodyさん
07/07/23 15:38:43
マウスカーソルを砂時計にするC#での記述はどのようにすれば良いでしょうか?
JavaScriptでは可能なのですが、C#で書きたいのでよろしくお願いします。
37:nobodyさん
07/07/23 21:38:10
C#でJavaScriptを書く
38:nobodyさん
07/07/23 21:46:09
MsgBoxの代用ってJavaScriptかVBScriptしかないんでしょうか?
でも、どこみてもJavaScriptしか書かれてないんですけど、
VBScriptだと相性が悪いんでしょうか?
教えてください
39:nobodyさん
07/07/23 22:14:54
VBScriptはInternetExplorerでしか動作しないから
40:nobodyさん
07/07/23 22:28:49
DataSetとDataTableはどう使い分けていますか?
DataSetはあまり使う機会が無いのですが。
DataTableはGridViewのDataSourceにぶち込むためによく利用しますが。
41:nobodyさん
07/07/23 23:16:28 yAPedHBa
>>40
URLリンク(msdn.microsoft.com)
42:nobodyさん
07/07/25 12:46:29 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さん
07/07/25 13:21:44
>>42
disabledにするとASP.NETのポストバック判別用の
JavaScriptが動作しないのでイベントが動かなくなる。
だから、setTimeoutでワンクッション置くと解決する。
setTimeoutを使いたくないなら、
URLリンク(osada.bz)
あたりを参考にdisabledの後にボタン本来のポストバック関数を呼ぶ。
44:nobodyさん
07/07/25 16:41:06
C#でテキストボックスの内容が数値かどうかをチェックするには
TrayParseを使わないとダメなのでしょうか?
皆さんはこんな感じでロジックを組んでいるのでしょうか?
IsNumeric関数のように対象文字列だけ引数に入れるような関数は無いのでしょうか?
int nNull;
if (!int.TryParse(this.text1.Value.ToString(), out nNull))
{
this.text1.Value = "0";
}
45:nobodyさん
07/07/25 21:02:25
>>44
好きなように組んでください。
46:nobodyさん
07/07/30 15:04:02 7sXEyNUj
テキストボックスやテキストエリアにタグを入力してPostBackすると
「危険な可能性のある Request.Form 値がクライアントから検出されました。」
というエラーが発生します。
このエラー対応はWeb.configに<pages validateRequest="false"></pages>を追加して
サーバでチェックするのが一般的なのでしょうか?
47:nobodyさん
07/07/31 07:39:20 XmzlopkS
catch内の処理で例外が発生したらどうなっちゃうの?
catchでエラー画面にResponse.Redirectで遷移し、ついでにResponse.End()もやってるんだけど
これってやばい?
Resonse.RedirectってResponse.End()ってやらないとすぐに遷移しないですよね。
それがヤダ。
画面が全部表示しきってから遷移するんだもんなぁ。
これって何とかならんの?
Response.End()やるしかない?
48:nobodyさん
07/07/31 10:59:11
>>46
システムによる。
>>47
Resonse.Redirectの第二引数をfalseにしていないなら、
Resonse.Redirectは同時にResponse.Endも行ってるでしょ。
なんか意図してるところが違うのか?よくわからん。
49:nobodyさん
07/08/01 23:18:10 Ls359Xqo
ASPの画面であるボタンを押下した時に当然aspx.csの中の
そのボタンイベントメソッドに入ると思うのですが、
その中でいろいろ処理をした後にReturn値を取得して、
分岐でそのReturn値が1だったらASP画面のボタンの右横に○、
2だったらボタンの右横に×を出すようにしたいのですが
どうすればいいのでしょうか?
50:nobodyさん
07/08/02 00:07:35
なんとも要領を得ない文章だが、サーバサイドとクライアントサイドの処理の違いがわかってないことだけはわかった。
入門書読んで出直しといで。
51:nobodyさん
07/08/02 00:22:10
>>51
答えられないんだったらいちいち書き込むなよ
>>50
ASP側に id="Label1"というLabelを仕込んで
aspx.csファイル側でif文かなにかで
Label1.Text = "○"
Label1.Text = "×"
にすればよい
52:nobodyさん
07/08/02 00:23:13
>>51
間違った
49と50だった…
53:nobodyさん
07/08/02 11:56:36
>>52
レスもレス番もまともに書けんのか
54:nobodyさん
07/08/02 20:55:45
>>51
本当にそれでいける?
55:nobodyさん
07/08/02 23:29:29 aUE57HU0
aspx.csでダイアログ画面を閉じたいのですが
csでjavascriptのwindow.close()を実行しても、すぐには実行されず
画面上の全てのhtmlを出力してから実行されますね。
スクリプトをすぐに実行したい場合、どうしたら良いのでしょうか?
たとえば、登録ボタンをクリックした時、Page_Loadで登録処理を行い、すぐに画面を閉じたいのです。
閉じるようの画面を作って、その画面にRedirectする方法しか思いつかない。
56:nobodyさん
07/08/03 11:52:20
途中でFlush()メソッドしてやればいいのでは?
57:nobodyさん
07/08/03 17:33:12 9JZ2axOl
ASP.NETの質問をさせてください。
TestソリューションにAプロジェクトとBプロジェクトを追加し
Bプロジェクトの参照設定で、Aプロジェクトを追加しました。
Bプロジェクトに追加されたAプロジェクトはローカルにコピーしないを設定しました。
これで実行すると、Aプロジェクトがどこにあるか分からない的なエラーが出るのですが
どう改善したら良いのでしょうか?
A.dllをグローバルアセンブリキャッシュに登録しないやり方があれば教えてください。
58:nobodyさん
07/08/03 22:32:35
どうしてエラー内容を正確に書かないのか
59:nobodyさん
07/08/03 22:56:53
いいからローカルにコピーする設定にするんだ
60:nobodyさん
07/08/03 23:21:02
>>58
依存関係がどうのこうのってエラー。
>>59
ローカルにコピーしたらA.dllを修正した場合
BプロジェクトのbinにあるA.dllも手作業で修正後のdllに変更しないと駄目じゃん。
この例ではAとBプロジェクトの2つだけだけど
仮にAプロジェクトを参照設定しているプロジェクトが10個とかあったらどうするの?
61:nobodyさん
07/08/04 01:05:56
あほ?
62:nobodyさん
07/08/04 13:22:46
だから動的にってあれほど・・・
63:nobodyさん
07/08/04 19:57:46
>どうしてエラー内容を正確に書かないのか
64:nobodyさん
07/08/05 05:19:17
>60
無理だからあきらめろ。
65:nobodyさん
07/08/09 01:47:23 bl38nCXt
こんばんわ。
質問があります。
[ASP.NET AJAX]ASP.NET AJAX Control Toolkitを利用するには?[2.0のみ、C#、VB]
URLリンク(www.atmarkit.co.jp)
にあるように、AJAXコントロールキットを組み込んで、レンタルサーバ(DOTNETレンタルサーバ)に
プロジェクトをアップロードして確かめたところ、以下のエラー出ました。
'/' アプリケーションでサーバー エラーが発生しました。
--------------------------------------------------------------------------------
パーサー エラー
説明: この要求の処理に必要なリソースの解析中にエラーが発生しました。以下の解析エラーの詳細を確認し、ソースファイルに変更を加えてください。
パーサー エラー メッセージ: ファイルまたはアセンブリ 'AjaxControlToolkit'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。
これは、なぜ起きるのでしょうか?
ちなみに、自分のPC上では正常に動作しました。
問題なのは、レンタルサーバー上でエラーとなったことです。
66:nobodyさん
07/08/09 11:39:58
>>65
AJAX Control ToolkitはAJAX Extensionsと
異なるDLLで動作してかつ現状グローバル・アセンブリ・
キャッシュにも登録されないので、サイトルートのbinフォ
ルダの中に「AjaxControlToolkit.dll」が必要。
利用しているレンタルサーバは「AJAX Extensions」だけが
インストールされているだけっぽいし。
67:65
07/08/09 11:53:46 SsgdZ+V9
>>66
binの中には、そのdllが入っています。
なのにエラーがでてしまうのです
68:nobodyさん
07/08/09 14:08:59
>>67
そのエラーは基本的に「AjaxControlToolkit.dll」の話だから
・サイトルートのbinフォルダの中にあるか?
確認してみ。
まぁ、
まさか無いだろうがAjaxControlToolkit.dllをFTPのバイナリモード
でアップロードしていなくて壊れてるとかか。
69:65
07/08/09 14:23:18 SsgdZ+V9
>>68
サイトにもありますし
ftpでアップロードしました
今夜もう一度確認してみます
70:nobodyさん
07/08/09 22:22:21
なぜソース エラーを省略するのか
71:65
07/08/10 00:06:46
解決しました。
ありがとうございました。
72:nobodyさん
07/08/10 01:09:45
なぜ解決理由を省略するのか
73:nobodyさん
07/08/10 01:26:40
せめてなんだったのか書こうぜ
74:nobodyさん
07/08/10 11:08:39
DOTNETレンタルサーバの無料サービスで実際に
AJAX Control Toolkitを利用したサイト作って確認してみた。
>>65のエラーが出るのは、
・サイトルートのbinフォルダにAjaxControlToolkit.dllが無い時
・dllをFTPのアスキーモードで送信して壊したとき
以外には確認できなかったのでASP.NETとは関係ない単純ミスだと思う。
75:65
07/08/11 00:15:29
失礼しました。
確かに単純ミスというか知識不足でした。
dllファイルは、wwwroot/の直下にあるbinフォルダに入れるということですが、
私の勘違いで、
プロジェクト名がAAAだとすると、
wwwroot/AAA/binの中にdllを入れても問題がないという認識でした。
当然、wwwroot/AAA/直下には、default.aspxがあります。
みなさま失礼いたしました。
76:nobodyさん
07/08/11 00:33:12
∧∧
ヽ(・ω・)/ ズコー
\(.\ ノ
 ̄
77:nobodyさん
07/08/12 00:02:59
な、なんだってー!!
78:nobodyさん
07/08/12 00:11:24 AGH4B/9O
htmlやcssファイル、jsファイルなどはキャッシュに残ってしまい
サーバにアップされているファイルとキャッシュにあるファイルに差があっても
キャッシュを見てしまいます。
それを避けるためにプログラムでキャッシュを削除するとかって可能なのでしょうか?
サーバの設定でファイルがキャッシュに残る有効期間を設定できますが
有効期間があってもPG側で削除するというのをやりたいのです。
例えば通常は有効期間を設定しておき、キャッシュのファイルを使ってもらうのですが
ファイルの内容を修正したりという場合は、キャッシュにあっても再度サーバからダウンロードさせたいのです。
79:nobodyさん
07/08/12 07:22:06
>>78
つうか、それってASP.NETの「Cacheクラス」とかの
話じゃなくてIEのキャッシュの話だろ。
微妙にスレ違いな感じが。
ヒント的には
ブラウザのキャッシュはファイル名ではなくてURLでキャッシュされるから
jsなどのURLにパラメータでも追加してブラウザに別物のURLと認識させる。
上記の意味が分からなければ、
・Ctrl+F5で更新してもらう
・ブラウザのキャッシュをHTTP ヘッダーで無効にし毎回ダウンロードする形にする。
とかで対応しとけば
80:nobodyさん
07/08/12 13:40:00
>78
キャッシュしててもリクエストは来て304が帰ってるんじゃないのか?
ファイルが更新されてたらキャッシュは使用されないだろ。
81:nobodyさん
07/08/12 17:56:27
TreeviewでチェックボックスをON・OFFしたときに、イベントを取るのってムリですか?
82:nobodyさん
07/08/12 20:46:16
>>80
ページが最後に表示されてから変更されたか、
(If-Modified-Since)を確認する間隔もブラウザのアルゴリズムや
設定に依存するからファイルが更新されているのにキャッシュが
使われる事もある。プロキシがあったらさらに複雑化するし。
それを解決するには、URLに変化をかけるかキャッシュを利用しない
が一番トラブルが起きにくい。
83:nobodyさん
07/08/12 21:00:44
>>81
簡単には無理だね。
javascriptでTreeviewのチェックボックスにイベント割り当てて
ASP.NETのサブミットさせるとかでうまく出来そうだけど。
84:nobodyさん
07/08/12 21:23:38 CwIQgpKd
>>79,82
ファイル名を変えなくてもパラメータを変えれば別物と判断されるんですね。
A.html?ver=1.0
A.html?ver=2.0
って別物と判断してくれるってこと?
85:nobodyさん
07/08/12 21:30:23
別物って微妙…
86:nobodyさん
07/08/12 21:45:47
>>84
まず、
実際試してキャッシュフォルダ(Temporary Internet Files)とか確認したら?
その上で、ページを表示している状態で更新してもキャッシュが利用されて
いないか確認したらいいんでない。
で、これってASP.NETでページ作らなくても静的なHTMLでも確認できるん
だから聞く前に試してみた方がいいよ。
ソースが欲しいのなら
URLリンク(yuki.silk.to)
87:nobodyさん
07/08/14 12:07:12 hGLDM3MP
質問です
環境はVS2005 C#です
masterページに動的に配置したcalendarコントロールのselectedDateイベントを
コンテンツページから取得するにはどうすればいいのでしょうか?
実現したい動作はmasterページのcalendarコントロールの日付を選択
その日付をコンテンツページで取得して選択された日の予定一覧を表示です。
88:87
07/08/14 12:11:07 hGLDM3MP
追記です。
コンテンツページで作成したcalendarコントロールをmasterページに
渡してイベントを拾う事は出来るのですが、連続して日付を選択して行くと
二回目以降に[viewstateの読み込みに失敗しました]というエラーが出ています
89:nobodyさん
07/08/14 20:28:06
>>87
問題の原因が特定できないならソースを貼るべきだと・・・
まぁ、予測だが「viewstateの読み込みに失敗しました」と言ってるのを見ると
masterページうんたらよりも動的コントロールの部分が問題の気がする。
「Page_Load」以下で動的に(viewstateがtrueの)calendarコントロール作成して無い?
その場合「Page_Init」で作成するようにして「追記」の状態で確認してみ。
90:nobodyさん
07/08/19 12:55:08
このスレの質問が、ほぼ全て教えてクンで笑った。
「教えてクン養成マニュアル」置いておきますね。
URLリンク(www.redout.net)
91:nobodyさん
07/08/19 17:31:02 PhTQfUKC
webディレクトリー以外に置いたファイルをダウンロードするには
どうすればよいでしょうか?
92:nobodyさん
07/08/19 17:42:12
>>91
URLリンク(support.microsoft.com)
93:nobodyさん
07/08/19 19:48:45 PhTQfUKC
>>92
ありがとうございます。
.NETじゃないaspでは無理なのでしょうか?
とりあえず考えた方法は、aspにアクセスした時にwebディレクトリーへ
該当ファイルをコピーしてその後コピー先にredirectという方法が
いけるかなと思いついたんですが、ダウンロード完了後にコピーファイルを
削除したいのですが、ダウンロード完了のタイミングを取得するには
何か方法ありませんでしょうか?
94:nobodyさん
07/08/19 21:30:38
>>93
いや、勘違いしてるんだが、
Response.ContentType = "application/octet-stream"
Response.WriteFile("C:\aaa.txt")
Response.End()
と言うように、「Response.WriteFile」のパスは仮想ディレクトリ
では無い物理パスを指定すればいいだけ。
で、ダウンロード完了のタイミングと言うのは取れないが、
「Response.BinaryWrite」を使えば「Response.End()」の前に
ファイルを削除出来るので送信したら削除も可能なんだが
さらに勘違いしていてここはASP.NETのスレなんだが・・・・・。
まぁ、ASPでも出来るから調べるなり該当するスレに移動するなり
した方がいいよ。
95:nobodyさん
07/08/19 22:52:06 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さん
07/08/19 23:06:46
>>95
普通なら、動的コントロールで必要な分作成する。
簡単に済ますなら、とりあえず全てのラベルのVisibleを
aspxでfalseにしておいてTextに入れるついでにtrueにする。
97:nobodyさん
07/08/19 23:40:54 fhtMy5hW
>>96
>普通なら、動的コントロールで必要な分作成する。
ありがとうございます
すいませんがいまいちよくわかりませんので具体的に教えてください
98:nobodyさん
07/08/19 23:50:39
>>97
少しは自分で調べてみるといいと思います。
URLリンク(support.microsoft.com)
そもそも、ラベルの数を「0 or 100」なのか「0 or 1 or 2 ・・・・ or 100」
なのかよく分からんので、Visibleで好きなようにコントロールするのを
お薦めします。
99:nobodyさん
07/08/20 00:07:03
カスタムコントロールのことかな
良く分からんが
100:nobodyさん
07/08/20 00:34:10
カスタムコントロールは関係ないね。
aspx.csのコードでからlist.countの分だけ
aspのラベルコントロールを(aspxの方には一切コントロールを置かず)
動的に作成すればいいだけ。
list.countの最大数が決まってるのなら、
aspx側に最大数分作っといてVisibleでコントロールしろと
>>96は言ってるだけだから。
101:nobodyさん
07/08/20 00:56:02
>>100で「関係ない」と書いてみたものの>>95を10回くらい読んで
カスタムコントロールの質問にも思えてきた。
良く分からんが
102:nobodyさん
07/08/20 18:14:22 0m18HzF/
はじめてのASP.NETなのですが、練習用のテスト環境には、IIS(Windows XP pro)が必要でしょうか?
Apacheじゃだめですよね。。みなさん、どうしてますか?
103:nobodyさん
07/08/20 18:26:19
>>102
VS2005(ASP.NET 2.0)ならIISは無くてもテストやデバッグは可能です。
URLリンク(www.microsoft.com)
一時的にサーバ環境が必要なら、
DOTNETレンタルサーバの無料サービスを利用すればOK
104:nobodyさん
07/08/20 19:00:18 0m18HzF/
まさに探していたものです。ありがとうございました^^
105:nobodyさん
07/08/20 21:55:38
>102
VisualStudio2005をインストール可能な環境はIISもインストール可能なはずなのですが。
106:nobodyさん
07/08/20 22:00:59
XP Home
107:nobodyさん
07/08/20 22:37:58
>>105どこの情報だそれはw
108:nobodyさん
07/08/20 22:43:21
>106
Homeなんかすっかり忘れてたよ。
109:nobodyさん
07/08/23 12:03:42
ASP.NET 2.0のGridViewで質問です。
ページング(AllowPaging="True" PageSize="10")を利用しているのですが、
件数が10件に満たない場合でもPagerを出力する事は可能でしょうか?
110:nobodyさん
07/08/25 20:00:12
ホントここ人居ないな。
>>109
できるよ
111:109
07/08/30 02:19:16 NTnTtLAt
>>110
その後も色々調べてみたのですが、
同じ事で悩んでいた方の質問で無理だったらしいのです。
hURLリンク(vsug.jp)
よろしければ、やり方を教えていただけ無いでしょうか。
112:nobodyさん
07/08/30 18:32:05
>>111
俺もデザイン的に必要だったから、擬似的に表示するようにした
113:nobodyさん
07/08/30 20:32:17
VisualStadio2003での質問です。
テキストエリアへのHTMLタグの入力を禁止するために、
RegularExpressionValidatorを使って入力チェックを行おうとしています。
正規表現で指定した禁止文字を入力しフォーカスを外すと、
エラーメッセージを表示してくれるのですが、
サブミットボタンを押してもサブミットが発生してくれません。
ボタンでのサブミットを発生させるにはどのようにすればよろしいでしょうか?
アドバイスお願いいたします。
114:nobodyさん
07/08/31 00:34:36
DBにメールを保存しています。やりたいことはメーリングリストのWeb
アーカイブ等でよく見かけるメールのやりとりを階層表示するには
どのようにすれば良いのでしょうか?表示は件名、受信日、Fromのみ
とし、任意の件名をクリックすると、別ページでTo、Cc、件名、本文
が表示されるのをイメージしています。よろしくお願いいたします。
言語VB.NET、.NET Framework2.0です。
115:nobodyさん
07/08/31 00:34:37
>>111
無理じゃないし、擬似的にでなくても出来るよ。
GridViewのPreRenderでsender.BottomPagerRow.Visible = True
GridViewのRowDataBoundで1ページに収まる場合、
BottomPagerRow.VisibleがFalseにされるんでそれより後に動く
イベントでBottomPagerRow.VisibleをTrueすれば表示される。
まぁ、イベントの順番とかどう言う処理してるかとか意識した方がいいと思う。
116:nobodyさん
07/08/31 02:09:46
>>113
エラーなのにポストバックさせたいのか?
よく分からんが↓辺りかな。2003で試せる環境無いから適当だけど。
URLリンク(msdn2.microsoft.com)(vs.80).aspx
ってか、HtmlEncodeでHTMLタグ無効化した方が簡単だし安全だと思うが。
>>114
URLリンク(lists.samba.org)
こう言うのの事か?
単純にならDB検索して、階層は<ul><li>を入れ子で<li>の中にaタグ入れてURLに
パラメータ与えた別ページ開くように件名リンクさせる文字列作って
Literalコントロールあたりに入れればいいんじゃね。
aspのHyperLinkとかLinkButtonコントロールとかでポストバックさせて
「リスト表示」と「To、Cc、件名、本文」部分のVisibleを切り替えれば別ページも
いらないと思うが、その場合はRepeaterコントロールあたりで<ul><li>の
繰り返し処理する必要があるかな。
117:nobodyさん
07/08/31 10:08:42
>>116
返信ありがとうございます。
仕事中なので携帯から失礼します。
自分の書き方が悪かったです。
入力エラーの時にサブミット出来ないのは良いのですが、
正常値を入力した場合もサブミットが出来ず困っています。
申し訳ありませんが、よろしくお願いします。
118:nobodyさん
07/08/31 12:03:39
>>117
asp.netのコントロール(ボタン、テキスト、RegularExpressionValidator)の組み合わせなら、
普通であれば出来るはずなので別な要因が影響してる気がするが。
URLリンク(ja.gotdotnet.com)
Javascriptでボタンをdisableにしてるとか、
asp.netのコントロールではなくてHTMLのタグで書いてるとか。
イベント関係はいろいろな側面が影響するので、簡単なソースを
作って調査した方がいいよ。
119:113
07/08/31 12:06:22
>>116
jsを追った所、スクリプトライブラリのバグで、
.netFreamworkをASPに再インストールしたら正常に動く様になりました。
お騒がせしました。
120:nobodyさん
07/08/31 16:01:28
この度、ASP.NETを使い、Webアプリを作成することになりました。
しかし、いきなり問題が出て来ました・・・・。
WebアプリケーションをそのままOKを押し作成しようとすると
Webアクセス失敗と出て来てしまいます。
この場合、どのように対処したらよろしいでしょうか?
121:nobodyさん
07/08/31 21:32:28
>>120
IIS動いてて権限ちゃんと持ってるか?
つーか入門書買え
>>114
保存してるのはそれだけ?
ヘッダとか保存してないの?
122:nobodyさん
07/09/01 00:24:53 o4VEeCjw
>116
>URLリンク(lists.samba.org)
はい、上記のようなイメージです。
階層化するためには他に必要なヘッダー情報をDBに追加する必要がありそうでうす。
In-Reply-ToやReferencesを調べることになりそうですが、どのように扱えば
よいのかの参考になるわかりやすいサイトご存知でしたら教えてください。
階層化しやすくるためのクラスやライブラリがあればなお助かります。
123:nobodyさん
07/09/01 18:58:31
配列でツリー構造を作った事がないと見た
124:nobodyさん
07/09/01 21:16:37
>123
それそれ。
わざわざコーディングしなくても再利用できるフリーのクラスとかDLLとかありませんか?
125:nobodyさん
07/09/01 22:34:49
>>124
あきれてモノが言えん
126:nobodyさん
07/09/02 00:51:34
>125
そこをなんとかよろしくお願いします!
127:nobodyさん
07/09/02 01:08:55
いってるじゃねーかよ
あきれてモノも言えん
128:nobodyさん
07/09/03 20:32:29
もうちょっとマシな釣りはできんのか
↓はい次どうぞ
129:nobodyさん
07/09/08 22:51:29 XwRWsE9u
ASP.NETでサイトをプリコンパイルするときに仮想ディレクトリを指定しますが
これが実際のサイトと違う場合はどうなるのでしょうか
更新可能なサイトとしてコンパイルしても更新されなくなるだけ?
@IT:ASP.NET 2.0が変えるWebアプリ開発の世界 第1回 周辺技術が支えるASP.NET 2.0の進化
URLリンク(www.atmarkit.co.jp)
に
>仮想ディレクトリ名を変更してしまうと、アプリケーション自体が正常に動作しなくなってしまう。
普通に動いてしまっているようなのですが、このあたりの詳細な記述があるサイトはないでしょうか?
インストーラの実行時に仮想ディレクトリの名前を確定したく簡単な方法を探しています。
130:nobodyさん
07/09/10 21:02:18 slz4gROC
環境ASP.NET2.0、VB.NET、SQL Server 2003です。
select count(*) from table の結果を、ラベルに出力したいのですが
サンプルありませんか?できれば .aspx.vb 側でコードを書くのでなく
.aspx側(ただし、<script></script>の中は不可)で出力するコードを書きたい。
書く方法があるのか、そういう方法ではNGなのかよくわかりません。
サンプルのアクセス先でもよいので教えてください。
よろしくお願いします。
131:nobodyさん
07/09/10 21:42:17
>>130
インラインコードモデルで書きたいってこと?
URLリンク(www.microsoft.com)
132:nobodyさん
07/09/10 21:52:18
>131
どうもインラインコードモデルじゃむりっぽいかもしれないので、コードビハインド可で質問
しなおします。
GridViewのサンプルはたくさんあるので書き方がわかるんですが
select count(*) from Tablexxx の結果をラベルに代入するサンプルが見つからない。
どなたかご存知でしたら教えて。
133:nobodyさん
07/09/10 22:02:34
>>130
SQL Server 2003とは?
134:nobodyさん
07/09/10 22:08:03
>133
すみません、SQL Server 2000 でした。
135:nobodyさん
07/09/10 23:55:16
結果をラベルに代入とは?
136:nobodyさん
07/09/11 01:49:13
Labelコントロールで表示したいんじゃね
137:nobodyさん
07/09/11 13:42:38
GridViewで表示できるならLabelでもなんでも表示できるだろと。
どうせLabelにはデータソース指定がないからGridViewみたいにコーディングレスじゃ割り振れないってだけだろ。
普通にSQL発行して戻り値でSELECT結果返す関数作って
その戻り値をLabelに入れるなりなんなりすればいいだけ。
Label1.Text = GetSqlquery();
でいいだろ。
138:nobodyさん
07/09/11 20:34:07 jV5pYbSS
>137
サンキュー!
そうでした、単純にクエリーの実行結果を得る方法さえわかれば
どうってことないことでした。
139:nobodyさん
07/09/12 16:40:18
[IIS-5.0][Framework 1.1][VB.Net2003]
でwebアプリケーションを開発しています
現在、モバイルWebアプリケーションを作成しているのですが
状態管理のセッションキーがURLに埋め込まれますが
このセッションキーの埋め込み位置を変更することは
できないでしょうか?
例:
URLリンク(www.)<)○○○.com/mobile/index.aspx?session=セッションID
という感じにできませんか?
おわかりの方がおられればぜひご教示ください。
140:nobodyさん
07/09/12 23:00:57
ASP.NET2.0、Ajax Extensionsを使用しています。
Panelの中にUpdatepanel、Updatepanelの中で<div> </div>で囲んだ
Gridviewコントロールを配置しています。Gridviewで表示した表は
一定間隔で自動更新表示(タイマー使用)しています。
ブラウザ側のスクロールバー位置はMaintainScrollPositionOnPostback="true"
により同じ位置を保持可能ですが、ヘッダー固定したGridView側のスクロール
バー位置が上に戻ってしまいます。内部のスクロールバー位置ももとの位置を
保持させるにはどのようなコードを追加すればよいのでしょうか。
ご存知の方、おしえてください。
141:nobodyさん
07/09/12 23:52:58
>>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さん
07/09/13 23:05:53 f7p5yovk
Visual Studio 2005でASP.NET使ってWebアプリ作る時って、
Webサイトプロジェクトと、Webアプリケーションプロジェクトの
どっちで作るほうがいいの?入門書見たらWebサイトプロジェクトで
説明してるものばかりだけど…
143:nobodyさん
07/09/14 01:00:26
>141
ありがとう。
divの(javascriptの)
<div onscroll=..... てところが書けない。
onscrollという属性が予約語でないのか、エラーになります。
どのようにすればよいのでしょうか?
144:nobodyさん
07/09/14 02:35:05 CiMbiaO2
ASP.NETのBinフォルダに.NETアセンブリ以外を入れたら何か問題ありますでしょうか?
Cで作成したネイティブのDLLを参照する必要があり、それを入れたいです。
他にもBinにログファイルを作成する.NETアセンブリもあったりするのですが問題ありますでしょうか?
(ASP.NETアプリからはそのCのDLLのラッパを呼び出している。ラッパはBinフォルダの中にある。)
サイト
Bin
native.dll
wrapper.dll
145:nobodyさん
07/09/14 02:52:17
>Binにログファイルを作成する
そいつはまずい。
まじで。
146:nobodyさん
07/09/14 10:10:05
>>143
それ、XHTMLに準拠しているかの検証エラーなだけなので
気にしないで進めろ。
XHTMLに準拠が気になるなら、
・Javascriptでdivのイベントに処理を割り付ける
document.getElementById(???).onscroll = function ・・・
・divにrunat="server"(Panelコントロールでもいい)を付けて
ASP.NETコントロールにしてAttributes("onscroll")でJavaScript
を文字列で書き込む。
好きな方でやればVSのデザイン時にXHTML検証でエラーは出ない。
147:nobodyさん
07/09/14 22:48:45
>146
んーー、非常に勉強になりました。
アドバイスの通り試行錯誤してみます。
重ね重ね本当にありがとうございました!!
148:nobodyさん
07/09/14 23:43:51
>>147
スクロールバーを表示している<div>をUpdatePanelのすぐ外に
置いてスクロールの内部を非同期通信させる方法で対応できる
ならそれが簡単かも。
UpdateProgressを使ってたり、ポストバックの更新時、UpdatePanelの入れ子とかで
内部表示の幅がが一時的に小さくなったり、divが再描画されたりすれば
スクロール位置は戻るので現在の処理が絡むので分からんけど。
まぁ、>>141の内容と組合せるとかすれば出来ない事は無いだろうけど。
149:nobodyさん
07/09/17 03:52:15
<script>タグの中で<%= =>がマークアップされないのって、何とかならないのかな
一瞬動かないものなのかと思ってしまいました。 まさかMS非推奨、とかじゃないですよね?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5058日前に更新/244 KB
担当:undef