【質問】ASP.NETスレ Part4【議論】at PHP
【質問】ASP.NETスレ Part4【議論】 - 暇つぶし2ch629: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
なんか変になったので全角で書きます。。
>クエリ文字列を結ぶ&が&にエンコードされちゃうんですけど

642: [―{}@{}@{}-] nobodyさん
08/06/24 16:22:53
>>640
.OnClientClick

643:nobodyさん
08/06/24 20:46:20
>>640
何がしたいの?
&を渡したら、&になるってのはさすがに
困るかもしれないが&が&になっても構わないのでは。

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&type=test')"
となってしまいQueryStringの「type」が正しく取得できないのです。。


645:nobodyさん
08/06/24 22:55:44
Attributes.Addよりも>>642が教えてくれたように
OnClientClickプロパティにJavaScript書く方がスマートだね。

で,ちょっと実験してみたけどAttributes.AddでもOnClientClickでも
確かに&にエンコードされる。
けどどちらにしても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では&でエンコードされていても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
何の時刻を何にだよ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch