[過去ログ] 【質問】ASP.NETスレ Part5【議論】 (970レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
172(1): 2009/05/03(日)22:40 ID:??? AAS
ASP.NETを特殊なものと思い込みすぎだろ
吐き出し方にクセはあるとしても結局はただのHTMLとJavaScript・CSSで組み合わさったページ作るだけじゃないか
173: 2009/05/04(月)13:12 ID:??? AAS
ポトペタだけで構築して、出来上がったソースを見もしないやつらが多いということだな
174: 2009/05/04(月)15:41 ID:??? AAS
>>172
その吐き出し方が気持ち悪いと思う人も多い
175: 2009/05/04(月)16:24 ID:??? AAS
一度でもサーバコントロールを自作してみれば、
中身はただとResponse.Write(html)なのが理解できるのにな
176(2): 2009/05/04(月)16:28 ID:??? AAS
コードビハインドをシンプルにするために、JavaScriptをaspxに埋め込みたい。
けれどマスタページ構成なんかで各ASP.NetコントロールのIDなんかをFindControlして
ClientIDプロパティでひっぱってこないとJavaScriptで使えるIDを取得できない。
なのでコードビハインド上でJavaScriptの文字列を動的に出力する形にしてるんですけど
もっと賢いやり方ありませんか?
そもそもaspxにJavaScript書くのはデザイナさんがいやがる?
177: 2009/05/04(月)16:38 ID:??? AAS
>>176
具体的に何がしたいの?
イベント発生元のコントロールと、イベントトリガーと、
何のコントロールのどのプロパティを操作したいのかが知りたい
178(1): 176 2009/05/04(月)17:37 ID:??? AAS
失礼しました。
たとえば1~10の数値が選択できるDropDownList(ASPコントロール)が3つあって、
それぞれに選択された数値の合計が10以内かどうかを、ユーザ側環境でチェックするJavaScriptです。
チェックトリガはDropDownListのonChangeです。
このとき、DropDownListコントロールのIDはASP.NET側が生成してしまうため、
aspxファイルにJavaScriptを書く際のIDをどのように持ってくるのかなと思いまして。。
aspxにJavaScript置いて、コントロールのIDは<%= %>で参照するのが普通ですか?
コントロールが3つ程度ならいいのですが、20個、30個を想定した場合はどうなんでしょう?
179: 2009/05/04(月)19:31 ID:??? AAS
>>178
DropDownListのOnChangeで、合計値を出すってことかな?
そしたら、functionで、それぞれがOnChangeする度に足したり引いたりするスクリプトを書いて、
自分自身をfunction(this)とでもして渡せばいいんじゃない?
別に自分自身のID知らなくても計算可能だと思うが
180(1): 2009/05/04(月)20:14 ID:??? AAS
サンプルかいてみたぞい
<script type="text/javascript" src="prototype-1.6.0.3.js"></script>
<script language="JavaScript">
var arrayid = new Array();
var arraynum = new Array();
function nullpo(drop){
if (arrayid.indexOf(drop.id) == -1)
{
arrayid.push(drop.id);
arraynum.push(drop.value);
省13
181(1): 2009/05/04(月)20:15 ID:??? AAS
<body>
<select id="drop1" OnChange="nullpo(this);">
<option value="0">>0
<option value="1">>1
<option value="2">>2
<option value="3">>3
</select>
<select id="drop2" OnChange="nullpo(this);">
<option value="0">>0
<option value="1">>1
省4
182(1): 2009/05/04(月)20:17 ID:??? AAS
これならdropdownlistが何個になろうが、OnChange="nullpo(this);"を記述するだけ
protorypeかjqueryあたりのハッシュテーブル使えばもっと楽にできるかもしれん
183(4): 2009/05/04(月)20:29 ID:??? AAS
問題はデザイン時に指定しているIDと
実際に動作しているときに出力されるIDが違う、ってことなんだよな
CSSならクラス指定でいいかもしれないが、スクリプトになると問題がある
で、解決方法とすれば、実行時にスクリプト書きかえるか
なるべくID指定しなくて済むようにスクリプト組むぐらいしかないのかと
ClientIDを決定するロジックを自分で決められればいいと思うんだが
そんなことできないかな?
184: 176 2009/05/04(月)21:07 ID:??? AAS
>>180-182
ありがとうございます。ASPで云々ではなくJavaScript側で対応ですか。
参考になります
>>183
CSSもIDとclassで書式が違うので問題になったりしますね。
「なんでIDで指定できないの?」みたいな
ExpressionWebってこの辺を解決してくれたりするんですかね?
185(1): 2009/05/04(月)21:32 ID:??? AAS
>>183
おそらく無理
>子コントロールをページにレンダリングするコントロールもあります。
>このような親コントロールは名前付けコンテナであり、INamingContainer を実装します。
>名前付けコンテナを含むページをブラウザに表示すると、
>名前付けコンテナの子コントロールの name 属性と id 属性に一意の ID が指定されていることをページ ソースで確認できます。
>ただし、ブラウザで表示される ID を直接参照することはお勧めしません。
>子コントロールに対して一意の ID を生成する式は変更されることがあります。
>代わりに、子コントロールの ClientID プロパティの値を取得し、
>この値を使用して子コントロールを参照します。
省4
186(2): 2009/05/04(月)23:41 ID:??? AAS
>>183
>CSSならクラス指定でいいかもしれないが、スクリプトになると問題がある
それで、JQueryが出てきたんでは?
どこまで、使えるのか、まだ試してないが。
187: 2009/05/04(月)23:49 ID:??? AAS
>>186
そうだjquery勉強しようと思ってたんだった
どんどん新しいテクノロジが出てきておいつかないよね
asp.net勉強して、C#でジェネリクスとかでてきて勉強して、
そう思ったらajaxでてきて、SQL/CLRもやんなきゃってなって、
LinqToEntityキタ━━━━(゚∀゚)━━━━!!、ラムダ式がきたっちゃになって、
今度はリッチクライアントでsilverlightですか?(´Д⊂グスン いまここ
188: 2009/05/04(月)23:53 ID:??? AAS
jQueryで作るAjaxアプリケーション
は良い本だった。
189: 2009/05/05(火)00:01 ID:??? AAS
サーバサイドの実装がめんどくさそう
asp.net ajaxはポトペタだしすごい便利なんだよな
190(1): 2009/05/05(火)00:47 ID:??? AAS
>>186
JQuery詳しく知らないが、普通の一般的なスクリプトのライブラリじゃないの?
JQuery使うとIDに依存しない実装できるってんなら話は別だが
今問題にしてるのは、クライアントに出力されるIDをどうするか、って話で
サーバ側の制御の問題なんだが
191(1): 2009/05/05(火)12:09 ID:??? AAS
>>190
いま見てみたんだが、だいぶいろんなことが可能そう
MSDNによれば、
>他のコントロール内でレンダリングされたコントロールの参照
>子コントロールをページにレンダリングするコントロールには、
>GridView、DetailsView、FormView、DataList、Repeater の
>各コントロールなどのデータ リスト コントロール、ユーザー コントロール、
>および Web パーツ コントロールが含まれます。
これらは行が動的に生成されるので、
操作した行にあるコントロールを操作するとか、
省7
上下前次1-新書関写板覧索設栞歴
あと 779 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.010s