08/05/17 00:28:21
>>534
試してみます!!
あざぁーっっっっっっっす!!
536:nobodyさん
08/05/17 06:22:24
>>514
自分も昔ここで同じ質問したことあるんでそのときの経験談書きますね。
まぁ既に出てる話ですので参考程度に。
1.フレームはとにかく推奨されない
2.フレームなしに書き直したところ意外に利便性は変わらない
3.バグが発生したとき対応にすごく困る状況になりやすい
2と3が主な理由ですね。
537:nobodyさん
08/05/17 13:25:15 71sy1o27
以下の様なことをやろうとしています。
①リクエスト
→セッション新規作成、セッションIDの名前のファイル作成
②リクエスト
→セッションがすでに存在すれば、
セッションIDの名前のファイルに情報を書き込み、サービスにも利用
③セッションタイムアウトなどによりセッション破棄
→セッションIDの名前のファイルを削除
で、③をどのように実装すればよいかで困っています。
3のセッション破棄を検知したいのですが、
global.asaxのSession_Endでは
破棄されるセッションIDが取得できないようですし。
何かいい方法ありませんか?
538:nobodyさん
08/05/17 19:55:36
自分の目が節穴で無ければ、this.Sessionで見えてるこのオブジェクトはなんなのだろう。
539:nobodyさん
08/05/18 23:57:40
そうやって決めうちで削除したり、何かを作ったりするのはやめたほうがいい
ClassにPage.Sessionを渡して、あとはClassに処理させる。
Classでは、Page.Sessionのindexをなめて作成したファイルと比較し、
新しいSessionObjectがあればファイル作成、
なければ削除という処理を行う。
これをページを作成するごとに繰り返せばok。
540:nobodyさん
08/05/19 00:20:18
>>536
あざーす。参考にさせてもらいます。
541:Ajax 1
08/05/20 21:54:07
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
08/05/20 21:55:07
[ 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さん
08/05/24 00:42:12
これまでWindowsアプリをメインに作って来たのですが、私一人しかいない現場で
私がASP.netアプリを作る羽目になりました。
作業内容として只単純に、データの照会(取引の一覧を取得し画面に表示するだけ)
を行うだけなのですが、私の作成した画面のレイアウトは
・Label
・Table
コントロールを***.aspx画面に張りつけてその項目に値をセットしているだけなのですが
この方針って間違ってますか?
スタイルシートの知識とかは無いので.NETのデザイン画面で適当にデザインをして
(スタイルシートなんて使わず)ドラッグしてピヨーッと伸ばして行・列幅の調節
をしています。(html / StyleSheet / JavaScriptについてはアマチュアレベル)
ASP.net(.NetFrameWorkについては結構詳しいです。)に関して実務経験豊富な
ベテランの方如何でしょうか?ご意見を聞かせて下さい。
544:nobodyさん
08/05/24 01:18:22
>>543
一覧表示に適したコントロールならGridViewがある。
GridViewは表示対象をDataSetまたはDataTableオブジェクトとして扱って
バインドさせるだけでおk
545:nobodyさん
08/05/24 12:46:33
と、言うかその程度なら別にASP.NETとWindowsFormで違いないだろ。
546:nobodyさん
08/05/24 12:49:50 taKpBKe5
GridViewでヘッダの表示を固定することってできますか?
エクセルの「ウィンドウ枠の固定」みたなやつで、沢山の行があって
下にスクロールしてもヘッダだけは画面上に表示されるようにしたいのです。
やり方を知っていたら教えてください。
547:nobodyさん
08/05/24 13:42:15
CSSで出来る。ググレ
548:nobodyさん
08/05/24 18:41:07
上でフレームの話が出てたけど、フレームの代わりにdivでスクロール表示させて表示したいけど、
ウィンドウいっぱいに表示するのが、IE6だとうまくできません。参考になるサイトありませんか。
549:nobodyさん
08/05/25 16:09:24
>>548
>>228と同じ内容なら>>229の
「Repeater」コントロールで<div style="float:left;">
550:nobodyさん
08/05/25 19:56:25 BMpN20e7
エクセルとかPDFをサーバー側で作るとして、それをダウンロード画面に表示するのはどやってるの?
「保存」とか「開く」とか出る画面を出したいけど
551:nobodyさん
08/05/26 00:08:03
>>550
Response.WriteFileで本当ならOK。
だけどちょっと大きなファイルを扱おうとするとエラーを吐きやがります。
なので下記ページのサンプルコードのような書き方をすれば良いかと。
URLリンク(support.microsoft.com)
552:550
08/05/26 21:04:10 4YPDbsMz
>>551
あざーす。
ちなみに、これですと物理ディスク上のファイルをResponse.OutputStream.Write()で書き込みしてますが、
物理ディスク上のファイルでないと無理でしょか?たとえば、エクセルなどは動的に作ったらディスクに保存せず
そのままクライアントに流したいのですけど
553:550
08/05/26 23:03:08 4YPDbsMz
自己レスです。
.NETではファイル生成しなければ無理みたいですね。失礼しました。
554:nobodyさん
08/05/26 23:20:56
釣りかマジかどっちだ??
555:550
08/05/26 23:30:41
え?
マジでしょう。スプレッド.NETとかっての使うのは無しの場合では、無理っぽい(らしい)けど、方法ありますか?
556:nobodyさん
08/05/26 23:50:17
言ってる意味多分わかった気もするけど>>552の日本語が悪いだろ
557:550
08/05/27 00:51:48
すいませんです^^;新米なので
558:551
08/05/27 01:25:43
>>550
Excelデータのバイト配列が作れる状況ならファイル生成なんて不要。
要はResponse.OutputStreamに必要なデータをWriteできれば良し。
そのデータは当然ファイルから作っても良いし動的に作っても良いわけで。
自分の経験としてはウェブサービス経由で取得したExcelデータを
ウェブサーバ上ではファイルを作成せずに
そのままクライアントに返してました。
ただ,どうやってExcelデータを動的に作成するのか知らんけど
バイト配列を作成する手っ取り早い方法として
一旦保存してFileStreamを読むことになることはあるかもしれん。
559:nobodyさん
08/05/27 11:19:57
GridViewの内側の罫線はデザイナから変更できないのでしょうか?
BorderColorプロパティでは外側しか変更されないのですが…
560:nobodyさん
08/05/27 11:34:28
質問です。
FormViewをHTML展開したときに、デフォルトでは
tableが構築されるけど、これを<p>とか<div>にしたい場合は
どこをいじればいいのでしょう?
>>559
GridViewのGridLinesプロパティとか?
561:559
08/05/28 10:28:14
>>560
ありがとうございます。
解決しました。
562:nobodyさん
08/05/28 16:58:40 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さん
08/05/28 17:09:52
>>562
<asp:....>の部分はIISで適当なHTMLタグに置き換えられて
ブラウザに送信される。
<aspの部分をそのまま送ったらブラウザが理解できない。
asp.netはブラウザの種類を判別して、最適なタグに
置き換えてくれるのだ。
564:562
08/05/28 17:32:16 BjXoHKSe
>asp.netはブラウザの種類を判別して、最適なタグに
>置き換えてくれるのだ。
そうだったんですかー
納得できました。どうもありがとうございます。
565:nobodyさん
08/05/28 21:32:20 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さん
08/05/28 21:36:52
コニツワ!
ASP.NETに、PortalAPI(JSR168風な)ってあるん?
567:562
08/05/28 22:04:30
>>565
ご丁寧にどうもありがとうございます。
phpユーザの為に似たような書き方もできるようにしてるけど推奨されないということですかねー
少し考えていた感じとは違うので時間かかりそうですが、
1からやるつもりで頑張っていきたいと思います。
568:nobodyさん
08/05/29 00:51:41
とどのつまり、オブジェクト指向ってことです
569:nobodyさん
08/05/31 03:24:26
DBのフィールドを見て処理を分岐させるために、
SqlCommand.ExecuteScalar()で値を取ってきているのですが
フィールドがNULLの場合もあります。
こういう場合はどのような型で結果を受けるべきなのでしょうか?
Nullable(Of Integer)では落ちました。
DBNULLとVBのNothingは違うということなのかな…。
今はとりあえずObject型で受けてから、IsDBNull()で聞いて分岐させてます。
570:nobodyさん
08/05/31 11:45:42
>>569
DBNull.Value
571:nobodyさん
08/05/31 17:24:10
ありがとうございます。
572:nobodyさん
08/06/01 18:04:07
排他制御について質問です。
一覧表示->更新処理が行える画面なのですが、
ユーザーAとBが同時に一覧を取得して、先にAがあるレコードを更新した場合
Bはもう一度一覧を取得し直さないと更新が行えないようにしたいです。
現在はSqlCommandのTransactionを利用して以下のような流れです。
1.更新前処理で更新対象行のレコードから、全項目を取得
2.取得した項目をキーとしてSELECT実行
3.存在ありならば更新がかかっていないとみなしてUPDATE->Commit
存在なしならば他から更新されたとみなしてRollback->更新を促すメッセージ表示
GridViewのUpdateメソッド、およびテーブルにDateTimeの列を追加等が
出来ない環境なのですが、他に良い案や定石などありますでしょうか。
なお、同時更新は滅多に起こることのない環境です。
573:nobodyさん
08/06/01 21:17:02
>>572
レコードにバージョンを表すフィールド(TimeStamp, 最終更新日時, あるいはただの連番)を追加するか、
全フィールドを比較するか以外に、オプティミスティック同時実行制御を行う方法なんてないんじゃない?
GridViewのUpdateメソッドも、デフォルト状態では結局のところ全フィールドの比較を内部的に実行していたと思う
どうしてもそのテーブルを変更できないなら、別テーブルに同じ主キー貼ったものを切り出して、バージョンを表すフィールドを追加して、更新系の画面では元のテーブルとバージョンテーブルをチェック&更新するようにするとか
574:nobodyさん
08/06/02 00:00:19
SELECTで取得→ハッシュで比較→COMMIT/ROLLBACK
575:572
08/06/02 01:51:03
>>573,574
回答ありがとうございます。別テーブルに切り出すのは良い案かもしれません。
今はSqlCacheDependencyを利用した変更通知を探っています。
MSDN見ながらのテストでは変更通知が連続してきたり、
逆に来なかったりでズタボロですが…。
576:nobodyさん
08/06/02 03:34:54
おいおいどこに行く気だよ
前列比較のがましじゃないか?
577:nobodyさん
08/06/02 10:07:07 kZgOWgo+
ブラウザ上でユーザに編集はさせたくないけど、載ってる値をpostしたときに
サーバへ飛ばすTextBoxってどのような設定にすればいいですか?
ReadOnlyをTrueにしたら値がサーバにやってこなかったです。
都合でLabelは使えません(JavaScriptでも編集したいため)。
別途hiddenフィールドを作るしかないですかね。。。
578:nobodyさん
08/06/03 16:11:36
ASP.NET 3.5 のレンタルサーバって国内はまだ無いですかね?
579:nobodyさん
08/06/03 17:39:51
自宅で開業して人柱erになる
580:nobodyさん
08/06/04 00:19:04
>>577
エスパーじゃないので目的がわからないけど,
クライアントから送信されるデータを信用しろというのは無理な相談だし,
普通にセッション変数を利用すれば解決する問題だったりしない?
581:580
08/06/04 00:22:51
JavaScriptの文字が見えない馬鹿=自分。
582:nobodyさん
08/06/04 01:13:59
>>580
てことはJavaScriptで使えれば、Labelでいいんじゃね
var elm = document.getElementById("<%=Me.Label1.ClientID%>");
583:nobodyさん
08/06/04 05:17:43
ASP.NETって初心者には敷居高いですよねー
最悪でもVisualBasic使いこなせるレベルでないと、入れない気が。
ココから始めると結構分かりやすいぞ、みたいな、超初心者でも
コツコツ学んでいける方法や入口を教えて頂けると助かります。
宜しくお願い致します。
584:nobodyさん
08/06/04 05:57:30
>>583
GUIでなんでも済ませられるし(細かいところはソース直書きだけど)、かなり楽だと思うよ
でもイベントとかプロパティとかVB扱ったことないと、戸惑うことが多いかも
いきなりASP.NETをするよりVB2005とか2008の参考書買って勉強した方がいいかも
585:nobodyさん
08/06/04 18:23:30
>>583
パソコン教科書 Microsoft Visual Web Developer 2005 Express Edition入門
がオヌヌメって書こうと持ったら、すでに2008のがでてますね。
2005の方しか内容知らないけど、初心者のオイラにはすんげー役に立ったよ。
586:583
08/06/05 00:38:53 HpXjKLmr
>>584
>>585
有難うございます。
「10日でおぼえるASP.NET 2.0」って本を買ってみたんですが、
本を見ずにもう一度同じ様に書けるか、となると、もうさっぱりorz
コツコツやってみます。
587:nobodyさん
08/06/05 14:01:10
VS2008std ターゲット.net3.5で開発しています。
新しいプロジェクトで 「ASP.NET Web アプリケーション」を作成したのですが、
デザインモードに切り替え、ツールボックスからLabelをD&Dしたのですが
ドロップできません。(ドロップ無効のカーソルに変わる)
ソースに直に記述 <asp:Label~ してもデザイナ上ではエラーになります。
しかし実行は可能でブラウザでも表示されている。
ファイル→新規作成→Webサイトの「ASP.NET Web サイト」でプロジェクト?を作成すると
Labelなどの標準コントロールがドロップできます。
「Web アプリケーション」プロジェクトでは標準コントロールは使えないのでしょうか?
588:nobodyさん
08/06/05 14:19:50
>>587
俺の所では新しいプロジェクトから
ASP.NET Webアプリケーション
選んでも問題なくラベル貼れるけど。
589:nobodyさん
08/06/05 14:59:51
>>588
えぇっ!
じゃぁ環境の問題なのか・・・
なにか悪いことしたかなぁ
VS2005も共存してるのがまずいのかなぁ
とりあえず再インストールしてみます。
590:587
08/06/05 16:04:17
原因がわかりました。
WebApplicationを作成したフォルダ名がまずかったみたいです。
C#Testフォルダに作成するとドロップできないみたいです。
#という文字がいけないのかもしれません。
本当にありがとうございました。
591:nobodyさん
08/06/05 16:32:40
>>582
ASPのラベルってHTMLに展開されると
ただのインライン要素(<span>)とかになっちゃうじゃないですか。
その場合、JavaScriptでテキストを変更できますか?
InnerHTMLとか試してみたんですが、IEはできるけどFirefoxでは
できなかったりで、結局諦めちゃったんですけど。
592:nobodyさん
08/06/05 17:47:11
css設定して、これでFireFoxでもおkwww って思ってたら
Mac標準のSafariで全然駄目・・・ menuコントロールつかえねー orz
593:nobodyさん
08/06/06 13:19:55
>>591
DOM。
594:nobodyさん
08/06/06 18:33:09
郵便番号を入れると住所が途中まで(市町村くらいまで)出てくるような
ユーザ登録ページがよくありますが、あれは何らかのパッケージプログラム
のようなものを利用しているのでしょうか?
それともSQLサーバーとかに全部の郵便番号と住所を取り込んでいるのでしょうか?
595:nobodyさん
08/06/06 19:52:40
大抵、郵便局が作ってくれるCSVをまんまDBに取り込んでるだけじゃないの?
596:nobodyさん
08/06/07 00:05:51
メール配信システムを作っているんだけど。配信先リストは登録画面で配信情報を入力するときfileUploadコントロールを使いCSVで読み込む。
画面は 登録画面→確認画面→登録というようにして画面はMultiViewを使いたい。
MultiViewを使えば画面間の情報の受け渡しは楽なのだがfileUploadで読み込んだリストはどうやって保持するか、途中で処理をやめてもゴミデータが残らない方法ってない?
597:nobodyさん
08/06/07 04:14:30
途中で止まって困るならトランザクション使えばいいんじゃまいか?
598:nobodyさん
08/06/07 11:14:01
>>597 参考ページ無いい?
599:nobodyさん
08/06/07 14:32:51
>>594
ウェブサービス
600:nobodyさん
08/06/07 15:50:23
>>596
ViewStateで保持すればいいので?
601:nobodyさん
08/06/07 16:25:08
>>599
もうちょっと詳しく教えてください。
どこかが提供しているwebサービスを使うという意味ですか?
602:601
08/06/07 16:39:50
601取消。
検索したら郵便番号のWebサービスはたくさんあるようでした。
郵便番号データベースは12万件のレコードがあるらしい。
普通のasp.netのDB処理するとパフォーマンスが心配。
こういう大きなテーブルを高いパフォーマンスで処理するには
どんな技がありますか?
サーバ起動時に予めメモリ上のDataSetに読み込んでおいたら
激速になりそうですが、そういうことはできますか?
URLリンク(www.post.japanpost.jp)
603:nobodyさん
08/06/07 16:42:28
12万件程度なら全然大きくない。
604:nobodyさん
08/06/07 17:07:49
むしろ小さいね
605:nobodyさん
08/06/07 17:08:30
>>602
つ「適切なINDEX作成」
つ「実行計画確認」
606:nobodyさん
08/06/07 18:29:25
>>602
Webサービスを利用するならDB処理なんて必要ないわけで。
(自前でDB用意するなら指摘されてるようにインデックスを作ることになるかと。)
607:nobodyさん
08/06/07 23:26:09
>>603-606
ありがとうございます。
割とシンプルな処理のようなのでSQLにインポートして
インデックス作ってみます。
608:nobodyさん
08/06/08 00:10:11
AjaxZIP使ってサーバサイドから分離しちまうのが一番手軽では
ってそれだとスレ違いか
609:nobodyさん
08/06/10 15:32:26
社外へほいほいアクセスできる環境も少ないしね。
ってイントラの話じゃない?
610:nobodyさん
08/06/10 21:50:34
ASP.NETってIFRAMEで別のサイトを表示とかしても問題ないのでしょうか?
611:nobodyさん
08/06/10 22:52:01
ほとんどプログラム言語に触れたことが無くて、
2週間前までASP.NETが何なのか知らなかった状態から
言語はC#で、という縛りもつけて
「やれ」という指示で課題に取り組み始めたんですがさっぱり。
参考書籍を買おうかと思っているんですけど
ASP.NETの参考書でオススメのものってありますか?
612:nobodyさん
08/06/11 01:07:01
Visual Studio 2005によるWebアプリケーション構築技法
613:nobodyさん
08/06/11 08:31:41
MovableTypeのように、
ページやコントロールで出力されるHTMLをファイルに出力したいのですが
出力されるHTMLはどうやれば取得できるのでしょうか?
614:nobodyさん
08/06/11 22:38:50 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さん
08/06/12 05:47:44
>>614
デフォルト値をブランクにしないで、
何か適当に設定すればいいんじゃね?
616:nobodyさん
08/06/13 10:47:27
XMLファイルをDataSetに読み込んで、加工(アンカーをつけたり)して
ページに表示しているサイトなのですが、
アクセスが集中(1秒間に10~20アクセス)すると使用メモリが極端に大きくなり
しまいにはすべて403エラーになってしまいます。
こういう場合、どのように回避すれば良いでしょうか?
そのページのアンカーからはパラメータを渡して
また同じページにリンクしています。
検索エンジンが来るとサーバが落ちてしまい、
困っています。
617:nobodyさん
08/06/15 00:28:40
あのさー、せめてどの程度のデータをDataSetに入れてるとか、
アンマネージドなリソースの有無とか説明してくれないと・・・
618:nobodyさん
08/06/15 00:49:01
>617が言うとおり状況がよくわかんねえけど、
DataSetをキャッシュするかページをキャッシュするかどっちかしたら。
619:616
08/06/15 12:10:06
>>617-618
すみません、DataSetに読み込んでいるデータ量は200KB程度のXMLです。
アンマネージドのリソースはありません(DBなし)。
ブログのように毎日の報告をリンク付きで表示していて、
その固まりを10日分表示しています。
キャッシュですね、考えてみます!
ありがとうございました!
620:nobodyさん
08/06/17 19:41:06
FormView の ItemTemplateにDropDownListを入れて
そのDropDownListに DataSourceの指定とかしたいんですが出来ません。
((DropDownList)HeaderFormView.FindControl("List")).DataSource = DS
((DropDownList)this.HeaderFormView.Row.FindControl("List")).DataSource = DS
上記2個試しましたが、オブジェクトがインスタンスされていません。 とエラーになります。
FormView の ItemTemplateはどの時点で有効になったりとか調べたり出来ませんか?
621:620
08/06/17 21:19:54
自己解決 4時間もかかったよ・・・
FormVireのItemTemplateはPageLoadではまだいないみたいで
使いたいコントロールのprerenderでDataSourceを指定したらうまくいきました。
まだまだ知識が足りないと実感した日だった・・・
622:nobodyさん
08/06/18 20:28:21 HnUDlBar
開発環境から運用環境へWebサイトの発行をしました。
ところが運用環境ではGACの参照設定ができてないようです。
Web.configに記述はあります。
運用先環境にこの参照設定を追加するにはどうしたらいいでしょうか。エスパーしてください。
追加したいのは以下の参照
<add assembly="Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxx"/></assemblies></compilation>
623:nobodyさん
08/06/18 20:32:52
【環境】
ASP.NET
.NET Framework2.0
OS:Windows2003R2
IIS:6.0
です。
624:nobodyさん
08/06/18 22:28:59
Webインストーラ組み上げて、GACに登録するようにすれば?
625:nobodyさん
08/06/19 17:14:38
VS2008 でWebアプリを作っているのですが
VSに付属しているASP.net WEBサイト管理ツールでログインユーザを作成しようと
「セキュリティ」タブをクリックすると、SQL Serverがないと叱られました。
このWEBサイト管理ツールを使うにはSQL Serverが必須なのでしょうか?
626:nobodyさん
08/06/20 16:30:05
>>625
ログインユーザの登録管理をSQLでやってるから必要ですね。
627:nobodyさん
08/06/20 17:08:53
>>626
そうなんですか、勝手にmdbファイルでも作成されると誤解してました。
ありがとうございました。
628:nobodyさん
08/06/22 13:06:38
<俺用メモ>
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さん
08/06/22 16:39:00
畜生!俺がバカなだけだがMS死ね!何が__pendingCallbacksだ!
ソリューション見ても意味が全然わからねぇ、MS死ね!
630:nobodyさん
08/06/22 17:23:20
VBが既に時代遅れなのです
631:nobodyさん
08/06/22 17:53:57
フォームのテキストボックスに入力した値をDBに登録する、って処理をするときにHTMLエンコードとかした方がいいものですか?
必要ならしなかった場合にどんな危険性があるでしょうか?
632:nobodyさん
08/06/22 18:01:30
>>631
クロスサイトスクリプティングの危険があるんじゃなかったっけ。
ユーザ入力のはしつこいぐらいチェックしたほうがいいよ
633:nobodyさん
08/06/22 19:37:14
>>631
チェック不要で何でも突っ込んでOKな仕様なら不要だろ。
入力値のクリーニングが少しでも必要との認識があるなら、
>>632の対応で良いとオモ。
634:nobodyさん
08/06/22 21:49:19
>>631
DB格納時にわざわざHTMLエンコードした文字入れるのは止めましょう。
実際のHTML生成時に必ずHTMLエンコードするようにしてください。
中途半端にならずに納得できるまで調べると理由も理解できるかと。
635:nobodyさん
08/06/23 11:10:40
VS2008です
実行後の画面に差異が生じます。
1.デザイン画面ではCSSが適用された見た目になります。
2.デバッグ実行のブラウザではCSSが適用されない見た目になります。
3.ブラウザでIISを通してみるとCSSが適用された見た目になります。
デバッグ実行(仮想サーバ?)ではCSSは適用されないのでしょうか?
aspxファイル、cssファイルは同一のディレクトリにあり、パスの間違いではなさそうです。
636:635
08/06/23 15:15:53
特徴としてマスターページを使用しています。
637:nobodyさん
08/06/23 15:49:01
>>635
デバッグ環境での実行時だけ、
cssまでのパスが辿れないとか
そういうオチなんじゃね?
アドレスバーにcssファイルのパス記述して、
参照できるか確認してみたら?
638:nobodyさん
08/06/23 21:48:45
フォーム認証で許可してなかったわっとか
639:635
08/06/24 08:59:10
>>637,638
アドレスバーにcssファイルのパスを打ち込んだところ
古いCSSが出てきました。
インターネット一時ファイルをすべて削除したらデバッグでもCSSが適用されました。
ありがとうございました。
640:nobodyさん
08/06/24 14:48:16 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さん
08/06/24 14:49:23
なんか変になったので全角で書きます。。
>クエリ文字列を結ぶ&が&amp;にエンコードされちゃうんですけど
642: [―{}@{}@{}-] nobodyさん
08/06/24 16:22:53
>>640
.OnClientClick
643:nobodyさん
08/06/24 20:46:20
>>640
何がしたいの?
&を渡したら、&amp;になるってのはさすがに
困るかもしれないが&が&になっても構わないのでは。
644:640
08/06/24 21:49:51
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さん
08/06/24 22:55:44
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
08/06/24 23:35:47
ありがとうございます。
>>645さんの動作確認ブラウザはIEでしょうか?
当方でもIE6では&amp;でエンコードされていてもtypeの値は取れました。
ただFirefox2.0ではNull参照例外が発生したため、困惑している次第です。
エンコードされていても取得できるのが正しいのか正しくないのか。。。
p.s.
OnClientClickの件、ご指摘ありがとうございます。
647:nobodyさん
08/06/25 00:08:24
>>646
Null参照例外?ASP.NET側の?
文字列がURLエンコードされていても、
それをQueryStringとして処理するのはサーバー側だぞ。
普通、ブラウザは関係ない。
もし、変数を代入したりしているなら>>645の通りベタ打ちしてみたら?
ちなみにFirefox2.0、Win2k、ASP.NET2.0、VS2005で
検証してみたがなんのエラーも出ずに正常動作した。
648:nobodyさん
08/06/25 01:55:55
>>646
エンコードされるのが正しい。わりとそのへんいい加減ではあるが、
エンコードされてない&は、犬に食われて無くなっても文句は言えない。
649:nobodyさん
08/06/25 05:10:01
いわゆる 標準 だな
650:nobodyさん
08/06/25 21:23:32
ASPからASP.NET2.0に移行したんですが、ASPより体感で遅くなりました。
ASPならほぼ瞬時に切り替わるページが、.NETだと1~2秒かかります。
SQL server profilerを見ていると、
DBとのやり取りは比べ物にならないくらい速くなっているので、
レンダリング周りだと思うのですが、そんなものなのでしょうか?
(初回コンパイルで遅いのではなく常にです)
GridViewにバインドする際に整形したいので、
dateFormatter(eval("YYYYMM"))のようなことはやっていて、
ヘルプを読むとevalはパフォーマンスに影響するというのを見ましたが、
原因はこれだけとも思えず…。
というか、eval使わないとなるとRowDataBoundイベントで1セルずつ
整形処理とかおよそ.NETらしくないように思いますし。
651:nobodyさん
08/06/25 22:59:29
せめて列数とか件数とか、ViewStateが巨大になってないかとか
認証とかどうなってるのかとか、トレースやデバッグ設定どうなってるのとか
VS上かIISかとか
あーだこーだ
652:nobodyさん
08/06/25 23:38:16
全体的に遅かったので、抽象的な質問になりました。すみません。
特に遅い画面といえば、10列 x 100行程度の一覧画面で
ローカルでの表示でも5秒程度かかります。
※クライアントの意向によりページングは使用していません
ASPのころは同様の列、行数で切り替わりは1秒程度。
認証はwindowsで偽装はfalseにしています。
本番機でのtrace、debugはもちろんfalseですが、
bufferingはtrueにしています。
サーバースペックはCPUがXeonでメモリ4G程度としか知りません。
ViewStateのサイズは確認していませんでした。
bufferingもtrueにしていることですし、調べてみることにします。
ありがとうございます。
653:nobodyさん
08/06/25 23:53:07
連投すみません。5秒は言い過ぎでした。多分3秒くらい。
654:nobodyさん
08/06/27 00:30:25
DataSetの扱いが悪いとか
655:nobodyさん
08/06/27 00:34:39
とりあえずtrace有効にして怪しいとこがないか見てみたら。
そんなデータ量で何秒とか明らかにおかしいと思う。
656:645
08/06/27 22:44:24
>>646
返事が遅くなってすまん。
こっちで確認したのはIE7とFirefox3でした。
今別の(Firefoxが入っていない)PCにFirefox2をクリーンインストールして
試してみたけどやっぱり正常にtypeの値取れたよ?なにか別の原因かと。
>>647
確認thx
657:nobodyさん
08/06/29 13:39:00 u/QaY2OJ
テーブルアダプターを作り
それをaspxのObjectDataSourceコントロールのデータソースの構成から
作ったテーブルアダプターを紐づけたいのですが
ビジネスオブジェクトの選択のコンボボックスの中にも表示されず
プロパティのTypeNameに直接テーブルアダプター名を打ち込んでも
読み込めませんでしたとエラーが出てしまいます。
スペル間違えは確認しましたがそれはなく、迷っています
どなたか解決方法を教えていただきませんか? 宜しくお願いします。
VS2005+VB+Oacle9iです
658:nobodyさん
08/06/29 20:55:10
DataListを使って一覧表示しています。
文字列を表示するときに、Labelを使うと、文字列の中に改行文字があっても、改行してくれません。
イメージとしては、掲示板の本文みたいな表示しにしたいのですが、
ItemTemplateとしては、何を使うべきなのでしょうか?
659:nobodyさん
08/06/29 22:59:01
<br>に置換すれば?
660:nobodyさん
08/06/30 23:02:12 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さん
08/07/02 06:22:34 vJfryalk
ASP.NETこれからはじめようとおもっていて、
色々なサイトを巡り情報を収集しています。
Webアプリ開発人口がWindowsなどのアプリケーション開発者に比べて少ないようで、
多くのサイトで、Webアプリが普通のWindowsアプリケーションと比べて、
+α覚えないといけないので難しいとか、イメージが沸きにくいと書かれていました。
ASP.NETはそのような従来のWindowsアプリなどの開発者に最適で、
同じような感覚でWebアプリが書けるといったことも随所で書かれていました。
私はこれまでにPHPしかやったことがなく、
Windowsのアプリケーションなんてどういうものか想像すらつきません。
最初からWebアプリにしか興味がなく、Webアプリしか作ったことがないような人間には、
ASP.NETは理解しづらいものなのでしょうか?
PHPユーザーのためのASP.NET入門のようなサイトがあったら是非教えてください。
662:nobodyさん
08/07/02 08:50:36
逆に>>661さんに聞きたいんだけど、なんでASP.NETをやろうと思ったの?
Webアプリ作りたくてPHPを習得済みならPHPでいいんじゃないかと思うけど、
663:nobodyさん
08/07/02 23:10:09
PHPでafter Railsなフレームワークを使っていたのなら、
むしろASP.NET MVCとかの方が理解しやすいかもね。
664:661
08/07/03 01:03:09
レス遅くなってすみません。
>>662
趣味の延長線です。
より多くのことをやってみたいというだけの理由です。
他の言語(C#)をさわってみたかったというのも理由です。
>>663
フレームワークは使ったことがありません。
正確には昔CakePHPに手をつけましたがどうにも理解できませんでした。
PHPでもオブジェクト指向が中途半端にサポートされていて、
オブジェクト指向的な書き方や、使い方はできるのですが、
独学でやってるもので、オブジェクトとして正しいものがかけているのかは疑問があります。
ASP.NET MVCというのははじめてききました。
そういったものがあるなら、CakePHPをもう一度勉強してみたいと思います。
フレームワークについては全くといっていいほど知らないので、そちらの習得を最優先したいと思います。
665:nobodyさん
08/07/04 23:12:52
>>664
そういう理由なら、.NETのWindowsアプリに挑戦した方がいいよ。
ASP.NETにいきなり入ると覚えることが多すぎて頓挫しやすい。
.NETには独特の知識が必要だから、まずは.NETそのものに慣れることを勧めたい。
666:nobodyさん
08/07/06 00:33:38
<%%>で時刻をバインドしたいけどできますか?
667:nobodyさん
08/07/06 01:00:27
何の時刻を何にだよ