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


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

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



1 名前:nobodyさん mailto:sage [2009/01/23(金) 09:46:51 ID:???]
●過去ログ
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/
【質問】ASP.NETスレ Part4【議論】
pc11.2ch.net/test/read.cgi/php/1184683786/ (dat落ち?)

あんまり需要ないのかもしれませんが。。。

51 名前:nobodyさん mailto:sage [2009/03/04(水) 16:55:08 ID:???]
>>50
>リロードされた場合に備えて自動破棄
自動廃棄ってのはどういう事を言ってるの?
セッションは自分で廃棄しなければ、通常はタイムアウトで廃棄されるだけだと思うが

渡したい情報の量とかにもよるだろうが、俺ならクエリ文字列として受け渡しするな


52 名前:nobodyさん mailto:sage [2009/03/04(水) 18:13:03 ID:???]
>>51
自動破棄というのは、仰るとおりタイムアウトで破棄されるってこと。
書き方が紛らわしかったね。すまん。

クエリ文字列ということは、遷移する間、条件となるデータをhiddenfieldなり、
viewstateなりで持ち続けるってことだよね。その方法かセッションしかないよねぇ。
うーん。

53 名前:nobodyさん mailto:sage [2009/03/04(水) 23:17:46 ID:???]
クエリ文字列はQueryStringプロパティということで
GETパラメータを想定してると思われます。

54 名前:nobodyさん mailto:sage [2009/03/05(木) 23:06:37 ID:???]
画面遷移のパラメータを安易にSessionに持つと、ブラウザの2窓できないクソアプリになるのでやめてくれ

55 名前:nobodyさん mailto:sage [2009/03/06(金) 01:46:04 ID:???]
正直、getやpostで値を持ち続けるのは面倒臭いw

56 名前:nobodyさん mailto:sage [2009/03/06(金) 04:41:06 ID:???]
セキュリティとの兼ね合いだな

57 名前:nobodyさん [2009/03/11(水) 19:26:02 ID:cFXXjK9z]
たとえば一つの表で列1に対する集計、列2に対する集計など
複数の結果を一つのページに表示する場合、
それぞれに対してSqlDataSourceを作るのが普通ですか?
それとも自力でごりごりコードファイルにSQLを書いていくものでしょうか?

またはもっと素敵な方法ありますか?

58 名前:nobodyさん mailto:sage [2009/03/12(木) 01:36:38 ID:???]
おれも疑問

@検索ページ→詳細ページ→A検索ページ
こういうとき、
A検索ページへの検索条件引渡しは、GETパラメータ(QueryString)で渡すとして、
詳細ページに移動した時点での@の検索条件はどこに保管しとくのがいいのやら。

sessionに持つと、2窓同時操作ができないのよね・・・

59 名前:nobodyさん mailto:sage [2009/03/12(木) 23:28:13 ID:???]
>>58
ふつうにクエリ文字列として渡すので何か問題が?
詳細ページと検索ページ2に同じパラメータ渡すだけだろう




60 名前:nobodyさん mailto:sage [2009/03/13(金) 03:40:19 ID:???]
そういう場合、GETでクエリストリングに検索条件を列挙するのが普通だね。ウィンドウをもう一枚開きたいとか、ブラウザの戻るボタンとか。もっと言うと、アクセスログ解析とか。様々な点でGETの方がいい。

61 名前:nobodyさん mailto:sage [2009/03/13(金) 20:08:50 ID:???]
>>59-60
詳細ページでもGETパラメーターか
なるほど

詳細ページでは検索条件を直接使わないから、
詳細ページにもGETパラメーター渡すっていう考えに及ばなかった

すっきりしたよ
ありがとう

62 名前:nobodyさん mailto:sage [2009/03/16(月) 19:35:40 ID:???]
>>57
自分の場合は、ほとんどC#2.0のRepeaterにDataSetをDataBindしているので、
よほどのことがない限り、自力で合計して自力で合計値を表示させてる。
SQLで集計行を儲けるクエリがあったと思うよ

63 名前:nobodyさん mailto:sage [2009/03/16(月) 19:48:12 ID:???]
>>58
>sessionに持つと、2窓同時操作ができないのよね・・・
セッションキーだけをGETやPOSTで渡すという方法もあるよ
検索時に検索ボタンのクリックで、検索条件を納めた情報をユニークなキーでセッションに保存して、
ユニークなキーをGETやPOSTで持ち回りし、検索ページ表示時にユニークキーから
保存したセッションから検索条件を取得して再現するとか。


64 名前:nobodyさん [2009/03/17(火) 13:27:16 ID:lh6o9g9J]
お手数ですが何方かご存知のの方が
おりましたら教えて下さい。
SPREADにて作成したCELLに数字(例:01)を入力し
実行時にブレイクポイントを張って
入力した数値を見てみると
「01」ではなく「1」としてデータが格納されております。
これはSPREADの仕様なのか
CELL作成時に、書式設定可能なのか
教えて頂けますでしょうか。

65 名前:64 [2009/03/17(火) 13:28:09 ID:lh6o9g9J]
ちなみに言語は
VBです。

66 名前:nobodyさん mailto:sage [2009/03/17(火) 15:32:46 ID:???]
>>64
SPREADってグレープシティのコンポーネント?
よくわからないけど、Excelと同じなら、Excelでも入力した文字が数値に変換可能なら、
自動的に数値に変換して表示したりするので、たぶん仕様だと思う
文字列として表示したいのなら、そのセルまたは列の属性を決めるプロパティがないかな?
たとえば日付型、文字型、数値型とか。

67 名前:nobodyさん mailto:sage [2009/03/17(火) 16:47:17 ID:???]
セルを文字列型にしたひな形作って読み込ませりゃいいんじゃね?

68 名前:nobodyさん mailto:sage [2009/03/31(火) 10:25:24 ID:???]
保守

69 名前:nobodyさん mailto:sage [2009/04/04(土) 01:24:29 ID:???]
Webサービスの参照を追加する場合、VSのウィザードからやるのが一般的のようですが、
これをプログラムソースのみで行うことは可能でしょうか?
可能であれば方法も教えて頂けませんでしょうか?



70 名前:nobodyさん mailto:sage [2009/04/04(土) 18:57:54 ID:???]
プログラムソースのみで行うってのはどういうことを意味してるのかわからんが
あれはプロキシクラス作ってるだけの気がするから、そのプロキシクラスと
同じようなクラスを自分でコーディングすればできるんじゃね

ウィザード使わずにプロキシクラス作りたいって話なら、
Wsdl.exeの使い方を調べてみれば

71 名前:nobodyさん mailto:sage [2009/04/13(月) 03:26:26 ID:???]
保守

72 名前:nobodyさん mailto:sage [2009/04/15(水) 20:35:37 ID:???]
検索ページへはhistory.back()で戻すw


73 名前:nobodyさん mailto:sage [2009/04/17(金) 16:12:21 ID:???]
というわけで移転( ´∀`)

74 名前:nobodyさん mailto:sage [2009/04/17(金) 18:04:52 ID:???]
(再生手続開始の申立て)
第二十一条
 債務者に破産手続開始の原因となる事実の生ずるおそれがあるときは、債務者は、裁判所に対し、
再生手続開始の申立てをすることができる。債務者が事業の継続に著しい支障を来すことなく
弁済期にある債務を弁済することができないときも、同様とする。
2 前項前段に規定する場合には、債権者も、再生手続開始の申立てをすることができる。

(疎明)
第二十三条
 再生手続開始の申立てをするときは、再生手続開始の原因となる事実を疎明しなければならない。
2 債権者が、前項の申立てをするときは、その有する債権の存在をも疎明しなければならない。

75 名前:nobodyさん mailto:sage [2009/04/17(金) 18:09:37 ID:???]
MVCの分離なんて理想論です
偉い人にはそれが分からんとです

76 名前:nobodyさん mailto:sage [2009/04/17(金) 18:46:47 ID:???]
ASP.NETだと、

Model 型付きDataSetや集計をするクラス、ストアド、SQL CLR
View aspxとコードビハインド
Controller 入力チェック、重複チェック、楽観ロック

でしょ?
ViewにControllerを書いてしまうことが多いけど、
それさえちゃんとすれば、ほとんど実行できてるに等しいんじゃね?

77 名前:nobodyさん mailto:sage [2009/04/17(金) 23:19:49 ID:???]
n層データ構造でググれ。
MVCってのはオブジェクト指向と同じで幾つかの宗派がある。

78 名前:nobodyさん mailto:sage [2009/04/17(金) 23:51:43 ID:???]
>>76が正解っぽいな

79 名前:nobodyさん mailto:sage [2009/04/18(土) 02:53:40 ID:???]
コードビハインドの関数を<%%>の中から呼べますか?
シングルファイルだと普通に呼べるんですが・・・



80 名前:nobodyさん mailto:sage [2009/04/18(土) 10:30:16 ID:???]
普通に呼んでるが

81 名前:79 mailto:sage [2009/04/18(土) 13:32:54 ID:???]
あーそうか、アクセス修飾子を省略してたからダメだったんだ(C#)。
レスどうも。おかげで気づきました。

82 名前:nobodyさん mailto:sage [2009/04/24(金) 13:01:47 ID:???]
言語 .net1.1 C#

すいません、初歩的な質問かもしれないのですが、
うちの会社では本番機サーバーにプログラムをリリースする時に、コンパイル済みdllファイルとソースファイル(aspx、resx、cs)を、
全部アップしてリリース作業終了となっています。
本来はdllだけでも良かったりしますか?


83 名前:nobodyさん mailto:sage [2009/04/24(金) 13:17:42 ID:???]
WEBサイト?
WEBアプリ?

84 名前:nobodyさん mailto:sage [2009/04/24(金) 13:33:50 ID:???]
>>83
すいません、
会社の売上を管理するWEBサイトです。
社内LANだけに公開されています。

85 名前:nobodyさん mailto:sage [2009/04/24(金) 13:42:39 ID:???]
そもそもソースをアップと言ってもそれを公開するわけでもなかろう?
発行するようにしてるんであればそれに任せりゃいいんじゃね?

ソースをどっ化のファイル鯖に上げるとか言うのなら話は別だけど

86 名前:nobodyさん mailto:sage [2009/04/24(金) 16:03:29 ID:???]
Webサイトならaspxファイルだけの場合もあるし、
何かの参照設定してdll読み込んでるならDLLと両方の場合もあるんじゃ?
だから、この場合、たぶんなんかのライブラリとかを参照設定して利用してると考えれば
両方アップすればいいんでね?

87 名前:nobodyさん mailto:sage [2009/04/24(金) 17:54:58 ID:???]
>>85
>>86
ありがとうございます。
何らかの参照設定等が行われていると考えて、とりあえずこのままいきたいと思います。
ありがとうございました。

88 名前:nobodyさん mailto:sage [2009/04/24(金) 18:51:30 ID:???]
>>84
まず、開発環境かいてみ?
たぶん、>>83の言う、WEBサイトとWEBアプリの違いがわかってないと思うぞ


89 名前:nobodyさん mailto:sage [2009/04/24(金) 21:51:36 ID:???]
>言語 .net1.1 C#
ってんだからWebアプリでそ
だったらCSとか不要。
dllとかとaspxはもちろんいる。




90 名前:nobodyさん mailto:sage [2009/04/25(土) 02:15:15 ID:???]
>>88
>>89
度々すいません。
開発環境で試しにresxとcsファイルを
別の場所に退避させても普通に動作しました。

会社の人にも確認したところ、アップロード作業には
FFFTPを使用するのですが、複数画面のリリースが発生した場合
いちいちCTRL押しながらaspxファイルだけ選択してアップではなく、
シフト押しながらずらっとまとめて選択して
アップする方がラクだからとの事でした。

どうもありがとうございました。

91 名前:nobodyさん mailto:sage [2009/04/25(土) 03:10:57 ID:???]
なんかズレてる気がするのは俺だけ?

92 名前:nobodyさん mailto:sage [2009/04/25(土) 13:05:13 ID:???]
はぁ?って感じだな
webサイトを発行っていうかプリコンパイルしてないのか

93 名前:nobodyさん mailto:sage [2009/04/25(土) 13:19:02 ID:???]
別に事前にコンパイルする必要はないだろ

94 名前:nobodyさん mailto:sage [2009/04/25(土) 14:42:14 ID:???]
ソースをそのまま公開サーバに置くのか?

95 名前:nobodyさん mailto:sage [2009/04/25(土) 15:26:07 ID:???]
社内だっつってんだろ。カスが!

「デスクトップにショートカット作っとくといいよ。」と同程度のアドバイスが理解できなくて
こんなところでお門違いな質問しちゃっただけだよ。

96 名前:nobodyさん mailto:sage [2009/04/25(土) 16:05:53 ID:???]
ナイス カス呼ばわり

97 名前:nobodyさん mailto:sage [2009/04/25(土) 22:28:39 ID:???]
>>95
ファビョんなよwwwww
つうかこいつの会社レベル低そうだな
つうか社内用でもそろそろ1.1とかねぇよ

98 名前:nobodyさん mailto:sage [2009/04/25(土) 22:57:36 ID:???]
技術力は関係無いだろ
だいたいシステム要件は顧客の希望なわけで

99 名前:nobodyさん mailto:sage [2009/04/25(土) 23:05:51 ID:???]
>>98
この場合自社が顧客なようですが
わけもわからず使ってるあたりがウフフな感じですね

この運用を今もやっているということは・・・・
だいたい想像がつきますね



100 名前:nobodyさん mailto:sage [2009/04/25(土) 23:12:55 ID:???]
自社が顧客だとしてもシステム要件は存在するだろ普通

101 名前:nobodyさん mailto:sage [2009/04/25(土) 23:14:38 ID:???]
>>100
この場合システム要件の話をしているわけはないと思いますが?

102 名前:nobodyさん mailto:sage [2009/04/25(土) 23:15:07 ID:???]
むしろ、何でもかんでも最新技術の利用を認める会社のほうが、少ないよな

103 名前:nobodyさん mailto:sage [2009/04/25(土) 23:17:21 ID:???]
どこまでを最新技術というのか・・・・


104 名前:nobodyさん mailto:sage [2009/04/26(日) 00:52:04 ID:???]
他のアプリが乗ってて運用してる場合
へんにアップデートするとおかしくなる可能性もあるからな
セキュリティアップデート以外の余分なものは入れないのが普通だろ

105 名前:nobodyさん mailto:sage [2009/04/26(日) 01:38:16 ID:???]
それはやれないのなら仕方ないが実績が無いのは検証不足というんじゃね?
まぁふつう鯖分けるとか対策するだろうけどさ

106 名前:nobodyさん mailto:sage [2009/04/26(日) 02:09:45 ID:???]
過去に作ったアプリについて、OSなりフレームワークをアップデートしても
動作するかどうかなんて検証する余裕なんてないよ
まして他社製が動作してたら検証の余地なんて無い

仕方ないからその鯖にのせるために
新しいテクノロジを使えない例なんてゴマンとあるよ

107 名前:nobodyさん mailto:sage [2009/04/26(日) 02:12:10 ID:???]
単なるデプロイから要件定義の話に広がり、
果ては技術論にまで及ぶのが2chクオリティ

>>90
通常はリリース用のディレクトリを用意しておき、
開発が完了したら「Webサイトの発行」で出力先をリリース用ディレクトリを指定する。
(直接Webサーバを指定してもいいが)
本番環境へのアップロードはリリース用ディレクトリの中身全部をFFFTPで送ってやればおk
(それこそシフト押しながらずらっとまとめて選択してw)

ソースはどう管理してるのか知らないが、VSSなんかの場合はコミットして
タグはっておけばいいんじゃね?

ソースをそのままアップしても問題なく動くけど、セキュリティ意識を持つなら避けるべき。
昨今は内部犯行も多いしね・・

108 名前:nobodyさん mailto:sage [2009/04/26(日) 16:19:55 ID:???]
.NET1.1にWebサイトもWebサイトの発行も無えよ

109 名前:nobodyさん mailto:sage [2009/04/26(日) 19:48:39 ID:???]
2chクオリティとか言ってた奴がいちばん2chクオリティだったとわw



110 名前:nobodyさん mailto:sage [2009/04/27(月) 20:06:01 ID:???]
asp.net用にセッションをインテリセンスを利用してタイプセーフに
管理するクラスを記述してみたんだけどこういうのって有用かな?

111 名前:nobodyさん mailto:sage [2009/04/28(火) 12:11:09 ID:???]
ないよりはあった方がいいように思うけど、
果たして必要かと言われると微妙。
それが必要される背景とシステム的な需要は
分けて考えられるべきではないかと。

要するに場合による。

112 名前:nobodyさん mailto:sage [2009/04/28(火) 15:40:55 ID:???]
なるほどサンクス
帰宅したらどこかにうぷして公開してみるよ

113 名前:nobodyさん mailto:sage [2009/04/28(火) 17:24:00 ID:???]
>>111
こんな感じ
hp.vector.co.jp/authors/VA038417/NlpSession.zip

○使い方
・Sessionとして保存するクラスを定義する
Sessionに保存する情報を格納するClassを、NlpSessionDataBaseを継承して作成する
NlpSession.csの一番下のサンプルがそれ

・Sessionデータの保存
NlpSessionDataProvider.Session<SessionData>().BirthDateTime = DateTime.Now;

・Sessionデータの取得
DateTime dt = NlpSessionDataProvider.Session<SessionData>().BirthDateTime;

・Sessionが保存されているかどうか
bool hasSession = NlpSessionDataProvider.HasSession<SessionData>() ? true : false;

・Sessionの削除
NlpSessionDataProvider.RemoveSession<SessionData>();

114 名前:nobodyさん mailto:sage [2009/04/28(火) 19:29:51 ID:???]
ぬ・る・ぽ・製・作・所wwwwwwwwwwww
なんちゅう名前付けてんだw

つうか、あれだ・・・
殴打の作者だったのか

お世話になりました。orz


うちでも似たようなの作りはしてる。
ページ単位で利用するセッションデータの管理と破棄の機能もくっつけてる感じのやつだけど
Redirectで飛びまくるページなんかの条件保持とかに使ったりかなぁ…

ケースバイケースで使えるんじゃないかな?
と思う


115 名前:nobodyさん mailto:sage [2009/04/28(火) 20:26:35 ID:???]
  ∧_∧∧_∧ ガッ
 ( ・∀・)⊃Д´) 
 (O  / つ つ ←>>114
 人  Y ゝ ) )
 し(__) し し

なるほど。
windowsformでは、staticを利用したグローバル変数的なものを使う場合があるけど、
それをasp.netのsessionを利用して実現できないかと思ったのと、
かつインテリセンスを利用可能にして、タイプミスしないようにするためにと思って、
ジェネリクスを利用した似非singletonパターンぽい感じにしてみたんだけど、
わりとみんな似たようなことは考えてるんだね

116 名前:nobodyさん mailto:sage [2009/04/28(火) 21:53:55 ID:???]
>>115
むしろこういうの持ってないより持ってた方があとあと考える手間は減るわな


117 名前:nobodyさん mailto:sage [2009/04/29(水) 01:30:43 ID:???]
VS2005 .NET2.0 WebForm C#
処理中にマウスをwait(砂時計)にする方法しりませんか?
ググりかたが悪いのか、WindowsForm しかでてきかません・・・

118 名前:nobodyさん mailto:sage [2009/04/29(水) 02:16:14 ID:???]
氏名          :TextBox 検証コントロール:RequiredFieldValidator
メールアドレス     :TextBox 検証コントロール:RequiredFieldValidator と RegularExpressionValidator
メールアドレス(確認) :TextBox 検証コントロール:RequiredFieldValidator と CompareValidator
メルマガ配信      :CheckBox(配信希望のときチェック)

[送信]ボタンクリックで、確認画面を表示

のようなWebフォームを作りたいのですが

検証条件
1.氏名入力必須
2.メルマガ配信がチェック有りの場合は、メールアドレス入力必須
3.メルマガ配信がチェック無しの場合は、メールアドレス入力任意

のようにしたいのですがアドバイスお願いします。

119 名前:nobodyさん mailto:sage [2009/04/29(水) 03:23:09 ID:???]
>>117
マウスカーソルを出してるのはクライアントだから、
サーバ側のプログラムでマウスカーソルを変えることはできません
また、クライアントはサーバが処理中かどうかはわかりません
WEBのアプリってのはそういうもんです

>>118
メールアドレスの必須入力は、CustomValidator使って検査



120 名前:nobodyさん mailto:sage [2009/04/29(水) 12:49:22 ID:???]
>>117
asp.net ajaxでやってみたら、なんとなくだけどできそうな感じ

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
 <ContentTemplate>
  <div id="TestDiv" runat="server">
   <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
   <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br />
  </div>
 </ContentTemplate>
</asp:UpdatePanel>

Page_Loadに
this.Button1.Attributes.Add("onclick", "TestDiv.style.cursor = 'wait'");
としてjavascriptでbutton1クリック時にカーソルをwaitに変更し、

Button1_Clickイベント発生時に処理を行ったあとに
System.Web.UI.HtmlControls.HtmlGenericControl a = (System.Web.UI.HtmlControls.HtmlGenericControl)this.ScriptManager1.Page.FindControl("TestDiv");
a.Style.Add("cursor", "default");
でカーソルをデフォルトに戻す


121 名前:nobodyさん mailto:sage [2009/04/29(水) 12:57:41 ID:???]
>>118
validatorは型どおりのだと便利だけど、
少し複雑なことさせようとするととたんに不便になったり
結局、自分は自分で検証してlabelにエラーメッセージを表示させてるよ

122 名前:120 mailto:sage [2009/04/29(水) 13:02:38 ID:???]
ごめん最後の奴はテストのやつそのまま貼ってしまった

標準に戻すだけなら、
this.TestDiv.Style.Clear();か
this.TestDiv.Style.Remove("cursor");でいいと思うけど、
postbackされると自動的にカーソルが元に戻ってしまうっぽいので、
何もしなくてもいいのかもしれない

あんま検証してないけどいろいろ試してみると面白いかも

123 名前:118 mailto:sage [2009/04/29(水) 15:48:19 ID:???]
Protected Sub magazineCheckBox_CheckedChanged
(ByVal sender As Object, ByVal e As System.EventArgs)Handles chbMmagazine.CheckedChanged

 If chbMmagazine.Checked Then
  ReqEmail.Enabled = True
  reqConfirm.Enabled = True
  lblComent.Text = "チェック有り"
 Else
  ReqEmail.Enabled = False
  reqConfirm.Enabled = False
  lblComent.Text = "チェックなし"
 End If
End Sub

みたいに書いてみたんだけど、チェックのON/OFF(hbMmagazine.Checked)を切り替えても
検証(メール欄入力検証:ReqEmail.Enabled = True/False、確認欄入力検証:reqConfirm.Enabled = True/False)
つまり、ErrorMesageの表示/非表示
が切り替わらない。どうすれば?

>>119
>メールアドレスの必須入力は、CustomValidator使って検査
CustomValidatoの使い方、args.IsValidがどうのていうのが検索したけどよくわからないです。

完全独学で勉強しているものでmicrosoftのサイトを見てもまだ???な状態です。

124 名前:nobodyさん mailto:sage [2009/04/29(水) 18:46:34 ID:???]
>>120
クライアントのスクリプト使うなら、Ajax使わなくてもできるような気がする

>>123
とりあえず入門書買ってこい

チェックボックスの変更でバリデータの有効/無効が切り替えられるのは、
ポストバックが発生した後だってことはわかってるか?
ポストバック発生しても切り替わってないってならソース晒せ

IsValidは検査に通ったかどうか設定する

125 名前:nobodyさん mailto:sage [2009/04/30(木) 01:34:00 ID:???]
あー、任意のページを別ページからインスタンス化したい。
そうすりゃテストとか死ぬほど楽なんだけどなぁ。

126 名前:nobodyさん mailto:sage [2009/04/30(木) 01:45:18 ID:???]
検証コントロールについて詳しく解説しているサイトがあったら教えてください

127 名前:nobodyさん mailto:sage [2009/04/30(木) 13:04:53 ID:???]
msdn

128 名前:nobodyさん mailto:sage [2009/04/30(木) 13:06:45 ID:???]
検証コントロール覚えるより正規表現を覚えたほうがいい気がする

129 名前:nobodyさん [2009/04/30(木) 18:37:25 ID:8hdVVO13]
ASP.NET ってHTMLの出力がめんどくない?
みんなリテラルにつっこんでるの?



130 名前:nobodyさん mailto:sage [2009/04/30(木) 18:56:16 ID:???]
htmlそのものを自分で記述して出力することがあんまりないと思う
定型ならLabelに記述するし、テーブルで行によって変化するならRepeaterを使ってしまうから
仮にhtmlを埋め込み式で出力したい場合でも、

public string Nullpo1()
 return "ぬるぽ";
public void Nullpo2()
 Response.Write("ぬるぽ");

をコードビハインドに定義して
<% =Nullpo1()%>
<% Nullpo2();%>
をhtmlに埋め込めばいいんでないの?
phpと同じだし、そんな大変かな?

131 名前:nobodyさん mailto:sage [2009/04/30(木) 21:17:04 ID:???]
>>129
HTMLの生文字列を出力したくなったら、
設計がおかしい(少なくともASP.NET向きではない)と思う。
Labelに<br />をたまに打つ位だな。

132 名前:nobodyさん [2009/05/01(金) 10:28:34 ID:2Yd9vHgr]
PHPみたいに
<?php foreach(): ?>
<htmlタグ>
<?php endforeach;?>
とか
<?php if(): ?>
<htmlタグ>
<?php else: ?>
<htmlタグ>
<?php endif; ?>

みたいにやりたいんだけど。
出来ないのかな?

<% =Nullpo1()%>
こうゆうやり方が出来るのはしらなかった。


<dl>
<dt>項目</dt>
<dd>内容</dd>
<dt>項目</dt>
<dd>内容</dd>
<dt>項目</dt>
<dd>内容</dd>
</dl>

上記の繰り返しなどをコードビハインド?上で
リテラルなどに突っ込んで出力とかは出来るけど、
デザイナなどにコードビハインドを変更してもらうのはちょっと気がひけるし・・・

133 名前:nobodyさん mailto:sage [2009/05/01(金) 12:24:34 ID:???]
前者はRepeaterコントロールを使う

後者はいろいろやり方があるけど、
例えばある特定の場合のみ表示させたいhtmlタグがある場合は
Visible=falseのPanelを配置して条件によってVisible=trueにして表示させる
または複数の場合分けが存在しhtmlをごっそりと入れ替えたい場合には
MultiViewとViewを利用して表示する条件に従って表示させたいViewを表示させるようにする

>上記の繰り返しなどをコードビハインド?上でリテラルなどに突っ込んで出力とかは出来るけど、
これは完全にRepeaterコントロールの範疇のような気がする


134 名前:133 mailto:sage [2009/05/01(金) 12:33:01 ID:???]
あとaspみたいな扱いももちろんできるよ

<body>
 <form id="form1" runat="server">
  <% for (int i = 1; i < 10; i++) {%>
   ぬるぽ
  <%}%>
 </form>
</body>

実行結果「ぬるぽ ぬるぽ ぬるぽ ぬるぽ ぬるぽ ぬるぽ ぬるぽ ぬるぽ ぬるぽ 」

135 名前:nobodyさん mailto:sage [2009/05/01(金) 13:17:49 ID:???]
>>132
>デザイナなどにコードビハインドを変更してもらうのはちょっと気がひけるし・・・
コードビハインドの理想は、デザインとコードの完全な分離なんだ
コードビハインドでコードをデザイナーがどうこうとか考え方がまちがってる

デザインするファイル(*.aspx)には一切のコード書かない
コードが必要なとこはすべてコントロールを置く。必要なコントロールがないなら作る
コードはすべてコードビハインド(*.aspx.cs,*.aspx.vb)に書く
これがasp.netなWEBアプリ開発の基本的な理想形

まあ実際は実行時バインド(<%= %>)とか便利なんで使いまくりなんだがなw

136 名前:nobodyさん mailto:sage [2009/05/01(金) 13:32:14 ID:???]
そうなるとITemplateインターフェースを知って勉強がしたくなるよね
codezine.jp/article/detail/425?p=1

まーphpとかclassaspのようなwebとして考えるんじゃなくて
windowsformの気持ちで取り組んだほうがいいのかもしれない




137 名前:nobodyさん [2009/05/01(金) 13:53:38 ID:2Yd9vHgr]
Repeaterの情報ありがとう。
入れ子も出来るみたいだし、それなりに使えるかも。
ただ、繰り返し中の条件分岐を作るのは面倒くさそう。

Panelの表示・非表示は思いついたけど、
Panelって<div>タグに置換されるからちょっといやな感じ。
中身は出力するけど、<div>タグには置換されないならありかも。


><% for (int i = 1; i < 10; i++) {%>
上記の使い方が出来ないと思い込んでいたけど、
今日試してみたら出来た。
色々検索して探しても、そんな情報が見つからなかったからな。
みんな使っていないって事か?


>コードビハインドでコードをデザイナーがどうこうとか考え方がまちがってる
もちろん、コードビハインドにHTMLタグが一切出てこないようにしたいです。
HTML出力のためにプログラマに負担がいくのはちょっと…てな感じです。

138 名前:nobodyさん [2009/05/01(金) 13:54:29 ID:2Yd9vHgr]
とりあえず、
コードビハインドにパブリックな Hashtableを持たせて、
出力するデータを全て突っ込んで出力することにしました。(邪道?)

↓こんな感じ
<% if value("flg") then %>
<%= value("data") %>
<% end if %>

<% for each i as string in value("list") %>
<%= string %>
<% next %>


フリーでテンプレートエンジンもあるようなので、
時間があったら試してみたいです。

139 名前:nobodyさん mailto:sage [2009/05/01(金) 14:56:32 ID:???]
邪道というか、.NET以前のasp的なやり方だな
旧aspの頃にはよくやってた

>もちろん、コードビハインドにHTMLタグが一切出てこないようにしたいです。
>HTML出力のためにプログラマに負担がいくのはちょっと…てな感じです。
逆だ。デザイナーに一切のコード見せなくするのが狙い
まあ、プログラマーが一切html触らないのは理想だが、
これはさすがにちょっと無理が多いからな

ホントは、htmlのレンダリングに関することは、コントロール作成者の役割で
プログラマの役割じゃない、ってのが理想形なんだろうな。
(まあコントロール作成者はプログラマなんだがw)
asp.netのコントロールはレンダリング相手によって出力するhtml変えるからな

少なくとも
><% if value("flg") then %>
><%= value("data") %>
><% end if %>
これは関数化してこの前後のif、end if文ぐらいはコードビハインドに入れてくれと思う




140 名前:nobodyさん mailto:sage [2009/05/01(金) 15:03:27 ID:???]
panelがdivになるのが嫌だったら、
<table id="table1" runat="server">
にしてコードビハインドで
this.table1.Visible = false
でもいいんでないかな

あと、よほど遠回りになるなら別だけど
多少のことなら「面倒」を理由に避けるのはいかんと思うw

141 名前:nobodyさん mailto:sage [2009/05/01(金) 15:40:26 ID:???]
ASP.NETでテンプレートエンジン使うくらいなら、
ASP.NET MVCを使う方が良いと思う。

142 名前:nobodyさん [2009/05/01(金) 15:52:57 ID:2Yd9vHgr]
>逆だ。デザイナーに一切のコード見せなくするのが狙い
理想はそうですよね。
上部に <% Page Language=… とかすら無くしたいものです。

<asp:****>
みたいなタグが出てくるとデザインを変更しづらくなるので、
なるべく避けたいところです。

>これは関数化してこの前後のif、end if文ぐらいはコードビハインドに入れてくれと思う
このいい方法がおもいつかないです。

例えば動的にアンカーの表示・非表示とURLとアンカーテキストを表示する場合、
どういった感じになるのですかね。
<a href="*****">*****</a>

現在はこんな感じです。
<% if value("hoge") then %>
<a href="<%= value("hoge_url") %>"><%= value("hoge_name") %></a>
<% end if %>

143 名前:nobodyさん mailto:sage [2009/05/01(金) 16:16:42 ID:???]
だから、従来のASPやPHPの方法論を頭から全く捨てて、ASP.NETという新しい概念として理解しないとだめ
動的にアンカーの表示非表示を行うならこうすればいい

protected void Button1_Click(object sender, EventArgs e)
{
 if (DateTime.Now.Month == 5)
 {
  this.HyperLink1.NavigateUrl = @"www.yahoo.co.jp/";
  this.HyperLink1.Text = DateTime.Now.Month.ToString()+ "月";
  this.HyperLink1.Visible = true;
 }
}

144 名前:nobodyさん [2009/05/01(金) 17:16:36 ID:2Yd9vHgr]
>動的にアンカーの表示非表示を行うならこうすればいい
こういった概念などはわかるんだけど、
デザイナとの分業を考えたときに難しいかなと。

例えばデザイナがアンカーテキストに taget="_blank" を
入れたい場合、わざわざプログラマーに頼む感じになると難しいです。

145 名前:nobodyさん mailto:sage [2009/05/01(金) 17:40:36 ID:???]
>例えばデザイナがアンカーテキストに taget="_blank" を入れたい場合、わざわざプログラマーに頼む感じになると難しいです。

デザイナがタグをこうするだけじゃん
<asp:HyperLink ID="HyperLink1" runat="server" Target="_blank">HyperLink</asp:HyperLink>


146 名前:nobodyさん mailto:sage [2009/05/01(金) 17:42:10 ID:???]
いやだから、taget="_blank"したいならaspxファイルにそう書いとけばいいだけ
ブログラマ全く関知する必要ないんだが?
asp.netのコントロール使うのが嫌なら、
<a>タグにrunat="server"って書いといてもらえば、コードビハインドでどうとでもできるだろ

関数化する例は>>130がそのままだろ。VBなら
funciton hoge() as string
if value("flg") then
return value("data")
else
return ""
end if
end funciton
こんな感じか。
んでaspxに
<%= hoge() %>
だけかいときゃいい。余分なコード見せる必要ないだろ
未検証だから間違っててもしらね
理想はこういったものはコントロールにするんだよ。
そうすれば、デザイン画面に表示するものも自分で設定できるから


147 名前:nobodyさん mailto:sage [2009/05/01(金) 17:53:56 ID:???]
>>146
<a href="test.html" id="anchor" runat="server" target="_blank">123</a>
でもいけるからね

お好きな方でドゾー

<form id="form1" runat="server">
 <div>
  <asp:HyperLink ID="HyperLink1" runat="server" Target="_blank">HyperLink</asp:HyperLink>
  <a href="test.html" ID="Anchor1" runat="server" target="_blank">Anchor</a>
 </div>
</form>


if (DateTime.Now.Month == 5)
{
 this.HyperLink1.NavigateUrl = @"www.yahoo.co.jp/";
 this.HyperLink1.Text = DateTime.Now.Month.ToString() + "月";
 this.HyperLink1.Visible = true;

 this.Anchor1.HRef = "www.yahoo.co.jp/";
 this.Anchor1.InnerText = DateTime.Now.Month.ToString() + "月";
 this.Anchor1.Visible = true;
}


148 名前:nobodyさん [2009/05/01(金) 18:43:59 ID:2Yd9vHgr]
><a href="test.html" id="anchor" runat="server" target="_blank">123</a>
なるほど、runat="server"をつければ変更出来るのですね。
勉強になります。


ASPタグを使わずにHTMLタグの繰返しを行う場合は、
Repeaterを使うのがベストですかね?

149 名前:nobodyさん mailto:sage [2009/05/01(金) 19:24:31 ID:???]
本を一冊買えば分かることを



150 名前:nobodyさん mailto:sage [2009/05/01(金) 19:54:38 ID:???]
Repeaterがいいんじゃない
ASP.NETの実践的な本は少ないからね。

151 名前:nobodyさん mailto:sage [2009/05/01(金) 20:09:09 ID:???]
Repeaterタグの表現にaspタグが必要だから、どんな場合でも不可能

それより、なんでデザイナに対してそこまで気を遣わなければならないかを
記述したほうがもっと良い解決方法が浮かぶと思う






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<262KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef