- PR -

ADO.NET Tips & Tricks #5 - DropDownList

1
投稿者投稿内容
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2002-04-16 05:41
Tips & Tricks #5 - DropDownListから背景色選択

DropDownListから背景色(140種類)を選択してページの背景色をダイナミックに切り替えます。

DEMO
をクリックすると、ソースコードと実行結果が表示されます。

DropDownList に AutoPostBack="True" を指定すると次のような JavaScript が自動的に組み込まれます。

コード:

function __doPostBack(eventTarget, eventArgument) {
var theform = document._ctl0;
theform.__EVENTTARGET.value = eventTarget;
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}



JavaScriptを無効にしているブラウザにも対応させるには、AutoPostBack="False" にします。この場合、OnSelectedIndexChanged イベントは使用できませんので、代わりにButton コントロールを配置してこのイベントで選択した背景色を取得します。

Happy Programming!
Akio Kasai


[ メッセージ編集済み 編集者: Dr ADO.NET 編集日時 2002-04-16 06:06 ]
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2002-05-13 10:14
この DEMO では
30: <body bgcolor="<%= mstrBackGroundColor %>">
のように<body>タグのbgColor属性を変更するのに inline expression を
使用しています。

この記述は、プレゼンテーションコンテンツとプログラムロジックが
分離されないためあまりお薦めできません

プログラムロジックを分離するには、<body>にrunat=を追加して
Server-sideのスクリプトにします。

<body id="bodyElement" bgcolor="White" runat="server">

そして、Page_Loadイベントで、
bodyElement.attributes("bgColor") = "AliceBlue"
のように記述してページの背景色を変更します。

Note:
ASP.NETのWebコントロールは、通常
id.property = valueのようにID名を参照してプロパティを参照/設定できます。
ところが<body>タグは、HtmlGenericControlですから直接プロパティを参照
することはできません。attributes("bgColor")のようにattributesを使用
して参照/設定します。


[ メッセージ編集済み 編集者: Dr ADO.NET 編集日時 2002-05-13 10:34 ]
1

スキルアップ/キャリアアップ(JOB@IT)