【質問】ASP.NETスレ Part4【議論】
at PHP
[前50を表示]
300:nobodyさん
07/12/08 22:03:20
@のApplication_StartでAの処理開始すりゃいいんじゃねーの普通は。
301:nobodyさん
07/12/08 22:20:28
ありがとうございます。
ちょっと確認させてください。
Application_Startは、IIS起動後最初のユーザがページにアクセスして、
一つ目のインスタンスを作る時に発生。
Application_Endはすべてのセッションが切断された時に発生。
という認識であってるでしょうか。
できれば、IISからWebサイトを起動した時と停止した時にイベントを拾いたいのですが、
そういうイベントはありませんでしょうか。
302:nobodyさん
07/12/08 23:10:32 qOs8ePBr
今日からASP.net始めました。よろしくお願いしますw
すみません。厳密にはVisual Studio 2005の使い方になってしまうかもしれませんが……。
ASP.netで使用中のデータベースの内容を見ようとしたのですが、サーバーエクスプローラの「データ接続」から.mdfファイルを開く(データベースに接続する)ことが出来ません。
「ユーザーの既定データベースを開けません。 ログインに失敗しました。
ユーザー 'hostname\username' はログインできませんでした。」
というダイアログが表示されます。
接続文字列内でAttachDbFilenameでファイル名を指定しUser Instance=Trueとして接続すると、こういう使い方は出来ないのでしょうか?
303:nobodyさん
07/12/08 23:12:09
一つ目のインスタンスってなんのこと?
Application_Endはアプリケーションがシャットダウンされるとき。
通常はユーザのアクセスが一定時間無かったとき。
サイト起動時ってのはASP.NET側ではない(まだ動いてもいないから)
サイト起動時にやらないといけない理由があまり見当たらないんだが…
304:302
07/12/08 23:12:38
追伸です。
まだSelect文しか流してはいませんが、ASP.net側ではとりあえず接続は出来ているようです
>問題のデータベース
305:nobodyさん
07/12/08 23:14:08
>>302ASP.NETで使用中とは、IISで運用中ってことかい?
IISで動作中は、例えばIIS6だとNETWORK SERVICEユーザが使用中だから、
User Instance=Trueでは使えないはず。
306:nobodyさん
07/12/08 23:23:50
>>303
ユーザが画面を開いていないときでも、チャットには繋げっぱなしにしたいのです…。
とりあえずWebサーバ起動時に繋げにいって、チャットの書き込みをサーバのログに吐く。
ユーザは必要な時だけWebサーバにアクセスするという形で。
自分だけが使うものなので、最悪、起動時は必ず画面を開いてApplication_Startを
呼んでやるという形でもいいのですが、終了時はApplication_Endでチャット切断処理を
やってしまうと、ユーザからのアクセスが無いときに勝手に接続が切れてしまうので…。
かといってどこかに明示的な切断を入れないと、アプリ終了後もタイムアウトするまで
チャットに居座りっぱなしになる行儀の悪いプログラムになるなあと。
ユーザの状態に依存しない開始と終了イベントを取れれば、
ユーザは必要な時だけWebサーバにアクセスし、ユーザはサーバ側のチャットへの
接続状態を気にしなくて済むようになり、サーバ側もユーザの接続状態を
考えなくて済むようになると思いまして。
画面側にはWebサービスとして、チャットで発言するメソッドと、画面更新のために
最新のチャットログを取得するメソッドくらいを提供してやればいいかなと。
307:302
07/12/08 23:31:32
>>305
早速のお返事どもっす。
こーゆー使い方したかったらちゃんとSQL Server動かせってコトなんですね
……まぁ、「AttachDbFilenameでファイル名を指定しUser Instance=Trueとして接続」するのが「ちゃんとしていない」ってコトはないんでしょうが……。
要はPHPのSQLiteとかJavaのHSQLDB(のスタンドアロンモード)と考えればOKかな?
手軽には使えるけど、ちょっとイヂりたいとかの場合は不便ですなぁ。
308:nobodyさん
07/12/09 00:53:07
んーUser Instance=Falseじゃだめなのけ?
309:nobodyさん
07/12/09 00:57:02
>>306
ようわからん、サイト起動時に接続するんじゃ
もはや切断なんて関係ないレベルですでに十分行儀悪いと思うが。
どうしてもそんな風にしたいんならサービス作るしかないんじゃない?
310:nobodyさん
07/12/09 05:00:17
むぅ
ちなみにEXEで作ってサービス化した場合、その中でWebサービスとして
メソッドを提供することは可能でしょうか?
それとも、WebサービスにしたいのならASPで作らないとダメでしょうか。
311:302
07/12/09 09:59:21
>>308
ダメみたいですねー。今度は本体(ASP.net側)でエラーが出ます
>User Instance=False
312:nobodyさん
07/12/09 18:17:59
Application_Endが呼ばれた後って、Applicationオブジェクトに格納していた
オブジェクトはどうなります?
要するに、ユーザがしばらくアクセスしなかったら、破棄されたりします?
313:nobodyさん
07/12/09 20:29:55
Application_Endが呼ばれるってことはそういうことだ。
まあtimeoutを伸ばすとか終了させないようにする手もあるが、
普通は必要ない。
314:nobodyさん
07/12/09 20:37:11
んー、ようするに、ASPでユーザの状態によらないオブジェクトの維持は無理ってことですかね?
例えば、今日一日のアクセス数を返すようなWebサービスは、変数をファイルに
書き出して保持しないと維持できない訳ですよね?
一番生存期間が長い(と思う)Applicationも、ユーザのタイムアウトによる
Application_Endで破棄されるみたいですし。
315:nobodyさん
07/12/09 22:29:07
だからリサイクルの設定をみんなオフにする手はあるが、
どっちにしても保証はされてないから結局Endで保存、
Startで読み込みとかは必要になる。
316:nobodyさん
07/12/09 22:30:01
あ、いや、Endで保存、Startで読み込みは微妙だな、うまくいかない可能性がある。
317:302
07/12/09 23:04:34
たびたび申し訳ないっす。
TableAdapterを試そうとして少々苦戦しています。
VisualStudioでのビルドは通るのに、実行時に型または「名前空間名 'hogeTableAdapters' が見つかりませんでした」って出るのはどうしてでしょう?
……TableAdapter自体もよーわからんっす。Fillした後、どうやってデータを取り出せばいいんだろう?
「ASP.net 2.0 実戦プログラミング入門」という本を参考にしていますが、あまりいい本ではありませんね。
ちょっと後悔。
318:302
07/12/10 10:37:10 aKqH/kSM
>>317
あ、申し訳ありません。age忘れてましたね。失礼。
319:302
07/12/10 18:53:27
自己解決。↓が足りなかったらしい
URLリンク(www.atmarkit.co.jp)
VisualStudioで面倒見てくれるときとくれない時があるのね。
引き続きTableAdapterに挑戦中……。
320:nobodyさん
07/12/10 22:35:57
おい、PHPスレを荒らしに来てるやつ自重しろクズ
321:302
07/12/11 17:02:22 fZiANqi9
スレ汚しですみません。
TableAdapterの方はなんとなく判ってきましたが、わき道に逸れてGridView+FormViewなんてモノに手を出してます
なんとかマスターメンテらしきモノを作るところまでは出来たのですが、FormView側で登録・更新・削除した結果をGirdViewに表示させることが出来ません。
ググった結果「GridViewのEnableViewStateってプロパティをFlaseにすればOK」という情報までは取得できましたが、この設定にはなにか副作用があるのでしょうか?
単に「初めての表示/明示的な読み込みの結果を保持しておきたい」という目的以外にTrueにする意味はあるのですか?
322:nobodyさん
07/12/13 00:41:26 6Y2No+8T
>>306
コメットを使うことが出来ればやりたいことは実現できそう?
323:nobodyさん
07/12/13 22:05:12
どっからコメットが…
324:nobodyさん
07/12/15 12:37:07
DBからSELECTしてきたDataSet等に、
さらにSQLを投げてDataSetを作成することは可能ですか?
325:nobodyさん
07/12/15 13:24:29
>>324=302
326:nobodyさん
07/12/16 01:51:04
会社の環境はVS2005なのですが、ちゃんと
aspx
aspx.cs
designer.cs
とワンセットで表示されるのですが、家の環境はWebDevelopperで
designer.csがソリューションエクスプローラに表示されません。
aspxなどの場所にdesigner.csファイルもありません。
これはどうやって表示させるのでしょうか?
WebDevelopperはソリューションファイルやプロジェクトファイルも無いんですよ(^^;
なので、いつもファイルをダブルクリックして立ち上げるのではなく
WebDevelopperを開いて、スターと画面から最近実行したソリューションの一覧から選択してる・・・
327:nobodyさん
07/12/16 19:34:30 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さん
07/12/17 03:20:00
>>324
ds.table.select("id=1")でDataRow[]が取り出せたような…
これでデータセットに対するselect文は実現出来ない?
329:nobodyさん
07/12/17 18:30:50
>>328
ありがとうございます。
発端というのが、SQL文が長くなってしまったので、
DataSetを一時テーブル代わりに、小分けにして実行できないかという
安直な思いつきだったのです。
DataSetを2つ作ってから要素を取り出して、
疑似LEFT OUTER JOINとかやってみたのですが余計に大変だなとw
そんな訳で…申し訳ありません。きちんと背景から書くべきでした。
330:nobodyさん
07/12/19 01:40:10 kIBGOFX3
現在のページのファイル名を取得できる
プロパティとかありませんか?
用途としては自分自身のページにパラメータをつけて
再度呼び出し、Request.QueryString()でその値を
取り出すためです。
331:nobodyさん
07/12/28 00:08:34 EfHkVobu
VWD2005(VB.NET)を使ってます。
javascriptでサブウインドウを作って、閉じる処理をしたいのですが
サブウインドウが閉じない場合があるので回避法を教えて下さい。
awin=window.open('a.aspx', 'a');
awin.close();
この場合うまく閉じる。
awin=window.open('a.aspx', 'a');
ポストバック発生
awin.close();
サブウインドウ閉じない。
332:nobodyさん
07/12/28 20:57:22
>>330
俺は定数で宣言してる。
>>331
a.aspx内にウインドウを閉じるスクリプトを書き、
なんらかのイベントを受け取らせて実行させればいいんじゃね。
つか、ウインドウを開いて何のイベントも発生させず、
しかし、ポストバックを起こして閉じたいなんてどういう用途なんだ。
333:331
07/12/28 22:24:13
>332
回答ありがとうございました。
実際のコードは間に種々の処理がありますが、最小限の再現コードを
書いただけです。
とりあえず、解決しました。
a.aspxからopenerを一定間隔で監視し見つからなければ自身を
閉じることで実現しました。
openerが遷移した際は、opnerにhiddenを埋め込んでおきa.aspx側から
監視することで遷移を判断しました。
334:nobodyさん
07/12/28 22:29:01
Request.CurrentExecutionFilePath 辺りとか?
335:330
07/12/30 22:06:04
Request.CurrentExecutionFilePathと
System.IO.Path.GetFileNameを使って
取り出せました。
ありがとうございました。
336:nobodyさん
08/01/01 21:08:48
しつもんしつもん。
ローカル環境(Web Developer 2005+SQLServer2005)でWebアプリを製作して、
とりあえず動くようになったのでサーバーにアップしたのです。
あ、サーバーはファーストサーバーのエクスプレス2です。無料のね。
なんとかかんとか設定を終えて、いざ実行!・・・したら、エラーがでるのです。
System.NullReferenceException:オブジェクト参照がオブジェクト インスタンスに設定されていません。
ってね。
ローカル環境では問題なく動作するのに、サーバーにアップするとエラーになるってのは、
どうしてなんでしょうか???
337:nobodyさん
08/01/01 22:26:23
オブジェクト参照がオブジェクトインスタンスに設定されていないからだろ
338:nobodyさん
08/01/08 19:46:24
ActiveReportsを64ビット環境でどうにか使えるように出来ないでしょうか?
339:nobodyさん
08/01/12 16:00:40
>>338
それはサポートに聞いた方が早い質問だ
340:初心者
08/01/24 15:18:55 RPd1Q97N
ASP.NET でRDOとかでSQLサーバーに接続できるのでしょうか?
それともAODだけなのでしょうか?
341:nobodyさん
08/01/24 15:36:11 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
08/01/24 17:22:36 7JZT46In
上の件については解決しました。
無理にFindControl使わずに、headingをそのまま使えるみたいですね。
しかし、新たな問題が。
Page.Request.QueryString("param1")
として取得したクエリ文字列に日本語が入っていた場合、
AscW関数で取得した数値が一律65533になってしまいます。
どうにか日本語のまま取得出来ないでしょうか?
よろしくお願いします。
343:341
08/01/24 17:50:53
何度もすみません、解決しました。
web.configに
<globalization requestEncoding="Shift_JIS" />
を書くことで日本語で取得できました。
344:nobodyさん
08/01/24 21:04:09 swcPOcpz
>>343
目先の結果だけで変更しちゃっていいものなのか?
と、ちょっと思った。
345:341
08/01/24 21:23:24 0wPjeug7
ではどうするのがいいのでしょうか?
346:nobodyさん
08/01/25 21:27:35
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さん
08/01/27 12:57:11
>>345
344とは別人ですが,
「考えてShift_JISに変えることで問題を解決させた」なら良いけど,
「Shift_JISに変えてみたら解決した(ように見えた)」なら不安や疑問が残るのは当然。
限定された利用環境でしか通じない(=限定された利用環境では通じる)
ということを理解してるなら問題無いと思う。
345は自分の想定している利用環境を見つめ直してみると良いんじゃない?
自分用アプリだとしでもDB絡みとか考えることは色々あるかも知れない。
文字の符号化の問題はなにかと躓きやすい問題の一つ。
348:nobodyさん
08/01/27 13:00:53
>>346
変数AAAAAに書かれたコードの安全性を検証できないんじゃないかとか考えたり。
349:nobodyさん
08/01/28 20:37:23
TreeView のあるノードをクリックしてポストバックした後
さきほどクリックしたノードがハイライトになっているようにしたい。
どのようにすればいいでしょうか。
参考になるサイトありましたらリンク先でもはっていただけると助かります。
よろしくお願いします。
350:nobodyさん
08/01/31 20:49:43 pr1Jn4LS
>346 普通に <% =AAAAA %> でいいだろ?
351:nobodyさん
08/02/01 12:55:47 Ik8bhfAO
始めたばかりなのですが、質問です。
とりあえずウィザードで作ったページに、_Defaultってクラスが生成されました。
Page_Load()とかに制御が来るのは分かりました。
このインスタンスっていつ削除されますか?
デストラクタを書いたら、起動時に飛んでくるんですけど...;
中でソケット通信していて、終了する時にはCloseしてやりたいのですが、
いつ終了されるか分からなくて...。
宜しくお願いします。
352:nobodyさん
08/02/01 13:05:10
VB2005にてマスターページを使っている
ページのコントロールを取得、各プロパティを変更したいです。
Me.ControlsをForで回して取ろうとしたところ
マスターページのControlsが取得されてしまいうまくいきませんでした
他に方法はありませんでしょうか?
変更対象が100個くらいあるので・・
1つ1つ変更するのはできれば避けたい所です。
ご教授よろしくお願いします
353:352
08/02/01 15:54:44
自己解決。
Master.FindControlで探してきてDirectCastで取ってこれました
354:nobodyさん
08/02/04 14:54:56
マスタページを使うよりユーザコントロールでなんとかしちゃったほうが
シンプルでメンテしやすい(Javascriptからの扱い等)と思うのは俺だけ?
355:nobodyさん
08/02/07 10:29:47 WbXuHs4A
URLリンク(support.microsoft.com)
ここの「サーバーのメモリに任意のオブジェクトをキャッシュする」ってところのプログラムなんですが、
SqlConnectionをcloseしていません。
これは大丈夫なのでしょうか?
356:nobodyさん
08/02/07 19:17:02
Close以前にOpenがないだろ?
そしてSqlDataAdapterは非接続型だ。
後はわかるよな?
357:nobodyさん
08/02/09 17:40:07
ASP.NETのセッションIDはどういった単位でユニークになりますでしょうか?
IPアドレスが違えばユニークになると思いますが
それ以外にはたとえばUserAgentが変わってもユニークに
なりますか?
358:nobodyさん
08/02/09 18:40:06
どのような環境でもユニークになるから気にしなくておk
359:nobodyさん
08/02/11 01:40:21
>>357
sessionid がクライアントから投げられてこなけりゃ新しく生成される。
だからたとえ同じUAでも別途立ち上げれば別セッションとして扱われる。
UAが投げてるRequest見ると分かりやすいかも。
FiddlerだのWebDevelopmentHelperだので見ると幸せになれるかも知れん。
360:nobodyさん
08/02/11 10:12:41 8IeW4FxX
DataAdapter は接続型だろ。
ただ、Fillメソッドの中で Open と Close してるだけ。
361:nobodyさん
08/02/11 11:40:28
は?
362:nobodyさん
08/02/14 00:08:37
データアクセスコンポーネントをデザイナツールで作成し、
TableAdapterのGetDataでデータテーブルを取得した後
ObjectDataSourceコントロールを使用せずに、コードでGridViewと連結しました。
この場合のGridViewの複数の列に対して非表示の設定を行いたいのですが
どのようにコーディングすればよいのでしょう?
363:nobodyさん
08/02/14 00:32:20
DataTableのColumnsの数を調整する
364:nobodyさん
08/02/15 00:12:20
そうなのか、DataTableで調整するんですか
GridViewの列数をカウントしても0となってるんで悩んでました
365:nobodyさん
08/02/15 21:57:56
信じてどうする
366:nobodyさん
08/02/18 18:21:09 p++OLHN+
ASP.NETで構築したサイトがあるのですが、社内のイントラWebなので
統合Windows認証で認証を行うようにしてあります。
先日、IE6からIE7に切り替えたのですが、上記のサイトに接続する際にユーザ名と
パスワードを確認するダイアログが出るようになりました。
従来どおり、ダイアログが出ないようにするにはブラウザの設定が必要なのでしょうか?
インターネットオプションの信頼済みサイトには上記のサイトが入っています。
IE6では、これを設定すればダイアログが出ないようになりました。
367:nobodyさん
08/02/18 18:30:11
自己解決しました。
今までは信頼済みサイトにサイトを入れていたのですが、イントラサイトに入れなおして
ログインのオプションを調整したら入れるようになりました。
お騒がせしました。
368:nobodyさん
08/02/19 14:46:13
すみません。質問です。
ASP.NETをはじめたばかりなので、どのコントロールを
使ったらいいかというレベルです。
掲示板みたいに、ログファイルを整理して表示するページを作っているのですが、
どのコントロールを使ったらよいのでしょうか。
DataListを見ると、1行おきに設定できるのは、色だけであり、
フォント関連のタグは指定できません。
Tableも、値を追加することは出来ても、フォント関連のタグは
指定出来ません。
ASP.NETは、デザインで、オブジェクトを配置してプログラムする
スタイルですので、プログラムのループで、オブジェクトを配置というのも
出来ませんよね・・・
369:368
08/02/19 15:04:42
追加で補足です。
例えば、以下のサイトのサンプルの掲示板では、
書き込む時にログファイルにタグも含めて書き込んでしまい、
データを表示するときに、すべてのデータをLabelに表示する
という形式を取っています。
URLリンク(aspnet.cguild.com)
ASP.NETの場合は、こういうやり方しかないということなのでしょうか。
私は、2ch.netみたいに、データだけのログファイルがあり、
それを自由にレイアウトしながら表示するというものをしたいのです。
これが、Perlだとすぐにイメージがつかめるのですが、ASP.NETとなると
プログラムの全体概要のイメージが出来ないのです。
それで、どういうコントロールを使ったら良いのかを質問してみました。
370:nobodyさん
08/02/19 21:10:25
>DataListを見ると、1行おきに設定できるのは、色だけであり、
>フォント関連のタグは指定できません。
DataBoundイベントでも引っこ抜いて、動的に生成すれば大抵のことはできる。
マウスでD&D、ちょいちょいとプロパティ設定で、はい出来上がりではない。
>ASP.NETは、デザインで、オブジェクトを配置してプログラムする
そらホームページビルダーだろw
基本的にデザインビューは、知らない人が保守で見たときに
オブジェクトの相関関係が目で見て分かりやすいってものだと俺は認識してる。
コードで書けばいい。
>データを表示するときに、すべてのデータをLabelに表示する
Labelなんてspanタグだ。"<span> %s <span>"だと思えばいい。
>ASP.NETの場合は、こういうやり方しかないということなのでしょうか。
んな訳ない。好きなように出来る(一部、死ぬほどやり辛いことはあるが)。
ちょっと初心者過ぎる気がするので、本を一冊買って来た方が良いと思う。
371:nobodyさん
08/02/20 01:53:44
>>370
レスありがとうございます。
> DataBoundイベントでも引っこ抜いて、動的に生成すれば大抵のことはできる。
> マウスでD&D、ちょいちょいとプロパティ設定で、はい出来上がりではない。
なるほど。私がイメージしてたものとは違うということのようですね。
コントロールの使い方について学んでいく必要があります。
> コードで書けばいい。
開発環境を使わずにメモ帳を使ってということですよね?
そっちのスタイルでも書いている方は結構いらっしゃるようですね。
> Labelなんてspanタグだ。"<span> %s <span>"だと思えばいい。
spanで囲むだけだったのですか。
何か特別なオブジェクトに格納するので、あまり長い文字は入れたり
しない方がいいのかなと思ったりしていました。
だったら、あの仕様でも良いですね。
> んな訳ない。好きなように出来る(一部、死ぬほどやり辛いことはあるが)。
> ちょっと初心者過ぎる気がするので、本を一冊買って来た方が良いと思う。
分かりました。書籍を購入して読んでみます。
しかし、ちょっと気になったのですが、ASP.NETなど製品版の場合、PHPやPerlに
比べてネットだと情報量が少ないですよね。。。開発をしようとすると非常に費用が
かさむ世界なのでしょうか。。
372:nobodyさん
08/02/20 03:13:04
すみません。質問です。
ASP.NETで書くと、それを表示する環境側にあわせたhtmlコードを出力する仕様だと
いうことですが、それは、コントロールを配置した場合に限るのですよね?
コントロールを配置する範囲でうまくいかない場合はstringに自分でタグをいれこんで
それをまとめて出力するとかやる事が多いと思うのですが。
このメリットは、本当に現場で活かされているのか、ちょっと疑問だと思いましたので
質問をしてみました。
URLリンク(www.atmarkit.co.jp)
373:nobodyさん
08/02/20 23:45:41
>>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さん
08/02/20 23:49:11
補足:
>活かされてるも何も、うちの会社ではGoTo文使うような扱いを受ける。
文字列にタグを入れ込んで表示することが、ね。
375:nobodyさん
08/02/21 00:21:53
>>373
レスありがとうございます。
> デザインビューのプロパティやコンテクストメニューとかに
> 項目が存在していなくても、コードを書けばなんとでもなることが多い。
プロパティに項目がなければ、なすすべが無いみたいに思っていたのですが、
現場の開発ではそうでもないのですね。
私は個人的に、工夫をするコードを書くと、あらかじめ準備しているクラスを活かしきれて
いないことから、重いだけの無駄な処理をしているようなイメージを持っていたのですが、
このあたりが間違っていたようですね。
> ASP.NETのクイックチュートリアルとか読んだか?試したか?
それは読んでませんでした。@ITの記事を読みながらやってましたので。
愚痴のような話ですが、Microsoftの入門者向け情報で、VBなどは読んでいたのですが、
ウィザードを使って、作って、ほら便利でしょ。終わり。という系統のが非常に多くて、
それに応用性が無いと思って読まなくなってました。M$のは中級者向けのがないですよね。
リファレンスはしっかりとしてますが、具体的な応用性がいまいちイメージできなかったり
しています。
> つか、個人(だよね?)でASP.NETを使うメリットなんてないと俺は断言する。
そうです。今は個人でやってます。会社でやることも考えて勉強のような位置づけです。
やはり、チームを組んでアプリを組む場合にメリットがあるわけであり、どんな場合でも
メリットがあるわけではないのですね。参考になりました。
ありがとうございます。
376:nobodyさん
08/02/21 07:34:22
>>373-374
> 活かされてるも何も、うちの会社ではGoTo文使うような扱いを受ける。
> (文字列にタグを入れ込んで表示することが、ね。 )
> どうしても使わざるを得ない場合は設計を見直す。
コントロールを配置する方向で実現する方法があるのですね。
工夫をしてそのような方法が出来るかを見てみます。
> MVCモデルとかOOPとかその辺の本も買ってきな。
ASP.NETは、他のフレームワークと比べてMVCを意識しなくていいという
記事もあります(記事はASP.NET 1.0ですが)が、やはり、開発にはMVCを
意識して、役割を分けて作る必要があるということなのですね。
URLリンク(www.atmarkit.co.jp)
MVCで検索するとjavaが良くヒットしますが、ASP.NETを例にしたものは、
簡単な文章のものしか見たことがありませんが、これは、MVCを理解して、
それをASP.NETで応用するという意味でしょうか?
377:nobodyさん
08/02/21 15:02:01
>>374さんの話は、<asp:〜 runat=server>タグに限った話ですか?
それとも<br>なども含めた話ですか?
378:nobodyさん
08/02/21 16:09:59
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
08/02/21 16:11:00
つづき
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さん
08/02/23 22:33:31
app_codeフォルダを作成し、その中にコードファイルhoge.csを作成したのですが、
そのhoge.csのusing 宣言でSystem.Dataが認識されません。
System.入力後にインテリセンスでもSystem.Dataが出てきませんし、メンバも利用できません。
参照設定でSystem.Dataを参照しても変わりません。
どこを修正すればよろしいのでしょうか?
381:nobodyさん
08/02/26 10:27:21
>>379
上のコードは文字列の配列を渡しているのだから、
下のコードも同じように文字列の配列を渡すようにすれば良いじゃない
382:nobodyさん
08/02/26 10:30:08
string[] st = { dr["タイトル"], dr["メッセージ"] };
でどう?
383:nobodyさん
08/02/28 13:48:03
>>381-382
それでうまくいけました。
渡すデータの形が悪かったのですね。
ありがとうございました。
384:nobodyさん
08/02/28 23:40:54
パスワード入力のinputってポストバックしたら消えるけど、この値を常に表示させたいが
どうすればいいですか
385:nobodyさん
08/02/28 23:51:48
>>384
Cookieとかじゃダメ・・・?
386:nobodyさん
08/02/29 00:28:07
すみません。クッキー以外でお願いします。
ブレークポイント設定して順に追ってみたのですが、どのタイミングで消えるのか分かりませんでした・・・
387:nobodyさん
08/02/29 00:38:41
どうしてもというのであればSessionにつっこむ
388:nobodyさん
08/02/29 01:25:24
やっぱりSessionしかないのですね。ありがとう
389: [―{}@{}@{}-] nobodyさん
08/02/29 13:04:10 BE:53832342-PLT(21001)
>>384
PassBox.Attributes.Add("value", "パスワード")
でいかが?
390:384
08/03/01 13:09:02
>>389
完璧です!
391:nobodyさん
08/03/05 12:54:57
ページ内でエラーが発生してcatch句で処理する場合など、
エラーが発生したことを表示させるにはLiteralとかで表示させるのが一般的なのでしょうか?
392:nobodyさん
08/03/05 21:45:09
global.asaxでまとめてcatchしてエラーページに飛ばす。
393:nobodyさん
08/03/06 14:34:16
サイト発行で完全コンパイルしていますが、特定ページのみコンパイルしない状態を作ることは出来るのでしょうか。
394:nobodyさん
08/03/07 00:12:53
ASP.NETでASP.NETを実行してるユーザーの権限とかいじらずに
デフォルト状態でファイルとかにログを吐くにはどうしたらいいのでしょうか?
395:nobodyさん
08/03/07 00:47:49
普通にglobal.asaxとかで出来ない?
出来ないならNetwork Serviceアカウントに権限与える必要あり。
FileSystemAccessRuleクラス当たりをググってみて
396:nobodyさん
08/03/07 01:04:24
App_Dataにでもはいとけ
397:nobodyさん
08/03/07 16:14:45
>396
うまくいきました。
398:nobodyさん
08/03/08 19:12:02 J6kJ8MXk
asp.netのSessionについて調べているのですが、
Session.SessionIDプロパティの値って、いつ設定されるのでしょうか?
最初にwebアプリのaspxファイルにアクセスした時ですか?
399:nobodyさん
08/03/08 22:01:34
はい。該当の仮想ディレクトリにアクセスされた時です。
400:nobodyさん
08/03/08 22:33:34
うそつけ
401:nobodyさん
08/03/08 22:34:01
自宅でASP.NETの勉強をしようと思い参考書を買ったのですが、不具合が…
参考書では
>Windowsコンポーネントの追加と削除」→
>Windowsコンポーネントウィザード」→
>インターネット インフォメーション サービス(IIS)」にチェック→
>「詳細」を左クリックします。
もうこの時点でアウト。
『インターネット インフォメーション サービス(IIS)』自体が表示されてません。
非常に困ってます。どうすれば表示されますか?教えてチャンですいません。
402:sage
08/03/08 22:46:29 J6kJ8MXk
Sessionオブジェクトに値を設定したときかな。
IsNewSessionプロパティを見れば判るかも。
403:nobodyさん
08/03/08 22:50:25
>401
環境は?XPの場合Home Editionだと×。IISはProfessional Edition 以上
404:401
08/03/08 23:10:59
OSはXP Home Editionです。
Professional Edition以上とは参考書に全然書いてないんで、安心しました。
勉強段階で行うのはアプリの動作確認だけだし、
使ってるレンタルサーバが「ASP.NET対応!テスト使用にもどうぞ」って謳ってるので、
IISは必ずしもクライアント側では必要ないのかも? という気がしてきました。
(間違ってたらご指摘下さい。)
お早いレス、有難うございます。
405:nobodyさん
08/03/08 23:12:21
>>404
まあ、必要ないっちゃあ必要ない。
ただ、デバッグとかするのにはあるほうが数倍便利。
406:nobodyさん
08/03/09 01:40:07
>参考書では
いつの参考書だ?
407:nobodyさん
08/03/09 09:06:44
>>404
OSはXP HEは駄目だと表記されてない書籍というのは相当怪しくないか?
あと、出来れば、プログラムが無限ループになる可能性もあるから、
レンタルサーバの使用は避けた方がいいと思うけどな。
あと、XP HE でも、ASP.NETは動かすことは可能だぞ。2005以降のIDEだと
自動でローカルで動作確認が出来るツールが入ってくるし。
408:nobodyさん
08/03/10 20:47:04 X6+NrWjc
>>404
Virtual PC + Windows Server 2003 180日評価版
409:nobodyさん
08/03/12 23:23:12
変数をstaticで宣言した場合、いつまで保持されるのでしょうか
ポストバックしても残ってますが そのページ内でのみ残ってるのでしょうか
410:nobodyさん
08/03/13 20:24:46
ASP.NETワーカープロセスが終了するまでじゃないの
411:nobodyさん
08/03/13 21:15:47
それはないわ
412:nobodyさん
08/03/13 22:14:20
正確にはアプリケーションドメインがアンロードされるまでだが、
ワーカープロセスが終了するまでというのはぜんぜん違うというほどではない。
で
>それはないわ
どういう意味で言ったのかね?
413:409
08/03/14 00:11:32
ありがとうございます。
Session変数みたく扱えるってことですね。逆にむやみやたらと使うと
ワーカープロセスが終了するまで残ってしまうのでよくないですね
414:nobodyさん
08/03/14 14:35:37
旧ASPのコードをそのまま動かす方法はないでしょうか?
Google AdSenseのモバイル広告を使いたいのですが旧ASPのコードさかないので・・・
415:nobodyさん
08/03/14 14:36:23
さかない→しかないの間違いです
416:nobodyさん
08/03/14 16:42:53
ASP.NET3.5+AJAXではじめるECサイト構築入門って本買ったんだけど
ウリの一つのネットショップのサンプルファイルがCDから洩れてるし。
MasterPageHorizontalMenu.ascx.vb
誰か↑のファイルなんとかしてくれ。
417:nobodyさん
08/03/14 22:57:12
あほか、機能くらい書けよw
実現してやるから
418:nobodyさん
08/03/17 00:49:50
質問です。
環境:VisualBasic 2005 ASP.NET2.0 AJAX Control Toolkit
CascadingDropDownのListBox版というのは不可能なのでしょうか?
CascadingDropDownはListBoxに適用できないため自力でやるしか方法はないのでしょうか?
419:nobodyさん
08/03/17 01:05:13
>>418
どうぞ
URLリンク(www.experts-exchange.com)
420:nobodyさん
08/03/19 14:24:55 zbaC+I0y
IIS6.0でASP.NET3.5を動かすことはできるのでしょうか?
設定の方法が載っているサイトなどあれば教えてください。
421:nobodyさん
08/03/19 17:19:26 n1YREe+h
すみません。自分はJavaプログラマでしたが、スレッド恐怖症です。
デッドロックとかむかつきます。
ASP.NETなら、スレッドは関係ないですか?PHPみたいにスレッドが関係ないといいです。
よろしくお願いします。
422:nobodyさん
08/03/21 07:32:02
>>421
何を聞きたいのかわからん
423:421
08/03/21 20:41:42
>>422 どうもレスありがとうございます。漫画喫茶からのアクセスなのでどうしても
お礼が遅くなってしまいます。私が聞きたいのは、Javaだとサーブレットでは
通常はdoGetもしくはdoPostメソッド内での処理を書くのですが、それらメソッド外(いわゆるグローバル変数)を使います。
その場合、サーブレットは1つのクラスがマルチスレッドで動いているものですから、グローバル変数はマルチスレッド対応の
ソースコードを書かないとバグを引き起こします。しかし、PHPだと言語の仕様上そのような配慮はいらないです。
VB.NETでWEBのソースを書く場合はどうなのかとおもいまして。
また、答えていただけたら、幸いです。
424:nobodyさん
08/03/21 23:35:42
それはマルチスレッド云々の問題ではなく、グローバル変数の利用法に
配慮したコーディングが出来てないだけじゃないのか・・
425:nobodyさん
08/03/22 17:19:32
PHPだと配慮しなくてもOK
Javaだと配慮しないとNG
で、ASP.NETは?って聞いてんだろ。きっと。
426:nobodyさん
08/03/22 23:31:55
>>421
PHP:マルチスレッド非対応
Java:マルチスレッド対応
ASP.NET:マルチスレッド対応
以上。
って言うのもこのスレ的にアレなのでASP.NETを使ってみて欲しい。
今回のケース(VB.NET)では一番簡単なマルチスレッド対応として
SyncLockを使えば良いだけに思える。(Javaのsynchronizedっぽいの)
慣れてきたら色んな排他制御の仕組みを適材適所で使い分けましょう。
例えばReaderWriterLockクラスはお手軽度では結構上位かな。
>>424
グローバル変数の利用法に配慮したコーディングって……
具体的にどういうコーディングか考えたらわかると思うけど,
マルチスレッドを考慮するってことに含まれるでしょう。
427:nobodyさん
08/03/23 21:39:50 x4MgCEzm
ASP.NETでマルチスレッドってどんな場合に使用するのでしょうか?
当方初心者で思いつかないのですが
428:nobodyさん
08/03/24 03:23:35 ct6byZwV
デザイナでDropDownListコントロールを配置し、
データソースの設定をし、DBより取得したレコードを
DropDownListに表示しています。
それはいいのですが、使用時に未選択を示す
空文字の行がありません。
つまりDBに"1","2","3"と3つレコードがあり、それをDrowpDownListに
取り込むことはできたのですが、実際使用する時には
""の行も必要なので困っています。
1.こういう場合どうするべきでしょうか?(DB側のテーブルに空文字の行を追加することは避けたい)
2.また、フォームのLoadイベントでリストの元データになっているDataTableにアクセスしたかったのですが、
やり方がわかりませんでした。
どうやればアクセスできますか?
イメージ的にはMe.dataset.Tables[〜〜
のようにフォームを初期化するために使用したデータセットがどこかに保存されているような気がするのですが。。
429: [―{}@{}@{}-] nobodyさん
08/03/24 11:45:00
>>428
1.静的アイテムを定義しておいて、AppendDataBoundItems=Trueにするのが簡単かな
2.DataBoundイベントで行データにアクセスできるけどそれじゃ駄目?
430:428
08/03/25 01:21:28
>>429
>1.静的アイテムを定義しておいて、AppendDataBoundItems=True
これでばっちりです、これが知りたかったです。
ありがとうございます。
>2.DataBoundイベントで行データにアクセス
うーん、どこかの変数にリストボックスの作成元になっている
データセットへ直接アクセスするようなことはできないでしょうか?
431:423
08/03/27 19:17:41 jex5dQtQ
どうもありがとうございます。
よくわかりました。わたし、Java初めて3年になるんですが、
もうフレームワークやらなんやらで、ほとほとつかれました。
MSのならば、言語仕様がしっかりしてるとおもいました。
一応スレッドはあるみたいですが、がんばってみます。
思い切って、ASP.NETをやってみます。どうもありがとうございました。
お礼が遅れてすみませんでした。今日、仕事帰りに漫画喫茶にこれました。
432:nobodyさん
08/03/28 00:19:18 oYl8aU09
開発時と運用時でフォルダ構成が違うため相対パスが違うので
プログラムで相対パスを書く時に困ってしまっています。
開発時画像を表示する相対パスを書いて、それを運用時のフォルダへコピーし、実行すると
画像への相対パスが変わってしまうため表示できません。
運用フォルダでは画像ファイルは*.aspxファイルより上の階層にあります。
開発時と運用時の相対パスの違いって
どうやって切り替えるとよいでしょうか?
それか実行時に動的にwebconfigあたりから相対パスを読み出してくるような方法ないでしょうか?
433:nobodyさん
08/03/28 01:16:08
相対パス、相対パスって言ってるけど意味分かってるんだよね?
開発と運用で相対位置が上位と下位に分かれてるなんてどーしよーもないよ。
というか開発時と運用時で画像への相対パスが違うって事自体理解できん。
運用に合わせて開発環境整えればいいだけだと思うんだけど・・・
どういう理由でできないの?
434:432
08/03/28 01:40:35
>>433
相対パスの意味はOKです。
やはり運用環境に整えるのが当たり前ですか。
運用環境では*.aspxの配置してある階層より上の階層に画像があるのが
問題なんですね。
今運用環境が以下なのですが、
http://(root)/test.aspx
このtest.aspxの階層を一つ下げて
http://(root)/home/test.aspx
などとすれば画像へのパスが
http://(root)/img/a.jpg
となり開発時運用時共に同じ構成で作成できます。
今回は運用環境が実際は定まっていなかったので
運用環境のフォルダ構成を見直すことで
開発時と統一したいと思います。
ありがとうございました。
435:nobodyさん
08/03/29 17:22:30
>>434
Web.configに絶対パスを書いて画像を指定するときに置き換えてやればいいじゃない
436:nobodyさん
08/03/30 11:49:34
便乗なんだけど、パス書くときに~/で書けば自動変換してくれるけど、
<script>タグの場合は、runat=serverにしたらエラーなるけど、何か方法ないですか
437:432
08/03/31 05:18:43
>>435
ですね、
そう言う方法が知りたかったです。
ですが今回はフォルダ構成に関しては開発環境=運用環境が
基本と言うことをお教えいただいたのでそうしますね。
ありがとうございます。
438:nobodyさん
08/03/31 05:30:55 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さん
08/04/01 00:14:49
>>438
RepeatLayoutをFlowにしてインライン要素で敷き詰めたらどうだろうか。
440:438
08/04/02 01:45:15
>>439
RepeatLayoutをFlowにしてみたんですが、一行に1つずつのアイテムが
下へずらずらと表示されるだけでした。
インライン要素で敷き詰めるとはどうゆうことを指すのでしょうか?
すみません。
441:416
08/04/02 10:00:56 Y/05D5yF
>>416
ASP.NET3.5+AJAXではじめるECサイト構築入門
の作者が対応とってくれました。感謝。
URLリンク(www.friendlysw.com)
416の時点で出版社へメールを送ったが、出版社からは音沙汰なしのままだった。
この対応については、ちと不満。
改訂版もしくは、初版以降の版では直ってることを願う。
書籍自体は、動くサンプルコードが豊富であり参考にはなると思った。
442:nobodyさん
08/04/02 10:17:30
>>438
まず1から8までの各データをSPANタグ(インライン要素)で囲んだだけのHTMLを作って表示してみる。
ウィンドウ幅に余裕があるかぎりデータが横に並べられ、幅を変えるとそれに合わせて改行位置が変わることを確認できるはず。
これをDataListで再現できればいいわけだ。
RepeatLayout=Flow、RepeatColumnsをできるだけ大きい数(笑)にすればとりあえず再現できるね。
443:438
08/04/04 00:38:51
>>442
>まず1から8までの各データをSPANタグ(インライン要素)で囲んだだけのHTMLを作って表示してみる。
こちらはうまくできました
>RepeatLayout=Flow、RepeatColumnsをできるだけ大きい数(笑)にすればとりあえず再現できるね。
こちらは無理でした。itemtemplateの内部を<span>で囲ったんですけど。。
ItemTemplateの中で表タグ使ってるのが問題かもしれません。
と思って外したんですがやはり無理でした。
ここまで来るとASPというよりタグの問題かもしれません。
そもそもDataListがtableタグを使って表現している以上
ItemTemplate内でtableタグを使った場合、ウィンドウサイズが変動しても自動で列数が変わるとか
無理な気もしてきました。。
444:438
08/04/04 00:48:24
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
訂正
そもそもDataListがtableタグを使って表現しているので
テーブル内で<span>使ってもテーブル自体の列数がウィンドウサイズによって
動的に変動するとか無理なような気がしてきました。
445:nobodyさん
08/04/04 09:38:27
RepeatLayout=FlowだとDataListはspanタグを吐くだろ?
446:nobodyさん
08/04/04 22:07:24 btrOMdCP
SqlCommandでパラメータ使ってますが、省略可能なパラメータって定義できますか?
検索条件によってパラメータが無い場合もあるので、どのように対応すべきか悩んでいます。
447:nobodyさん
08/04/05 16:12:22
条件によってcommandTextから変える
448:446
08/04/05 19:28:34 /o0gPsTY
>>447
レスありがとうございます。やはり動的にSQL文を生成するしかないのですか。
449:438
08/04/05 20:09:31
>>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
08/04/05 20:09:52
<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
08/04/05 20:11:49
ブラウザの見た目としては
集英社
小学館
講談社
メディアワークス
徳間書店
角川書店
竹書房
こんなんなっちゃいまして
期待としてはテーブルの中に入った出版社名が
右へずらっとウィンドウの右端まで表示したいのですが、
どうしても下へ並んでしまいました。。
452:nobodyさん
08/04/05 21:40:40
>>438
Repeaterコントロール使えば良いんでね?
ItemTemplateの中身をひたすら繰り返すだけのシンプルなものになるから。
後はdivでもなんでも使えばよかろ。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5058日前に更新/244 KB
担当:undef