- PR -

ASPタグにJavaScriptは使える!?

投稿者投稿内容
ニケ
会議室デビュー日: 2006/07/08
投稿数: 3
投稿日時: 2006-07-08 00:41
ASPタグにJavaScriptを記述するより、コードビハインド側にAttributeを使ってJavaScriptを実行するのが普通?みたいですが、コードビハインド側でJavaScriptのイベントを実行するメリットは何なんでしょうか?
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2006-07-08 03:54
メリットというかそれが本来の仕様にそったやり方ということじゃないでしょうか。
たとえばrunat="server"である<asp:Button>で、OnClickという属性はサーバーコードで
実行されるメソッドを表します。onClick="alert('OK');" と書いてもjavascriptは
動作しません。(2.0ではOnClientClickという属性がありますが)
ASPXはHTMLではありません。ちなみにコードビハインド側でJavaScriptのイベントが
"実行"されているわけではありません。
未記入
ベテラン
会議室デビュー日: 2003/06/26
投稿数: 76
投稿日時: 2006-07-08 13:35
 複雑なJavaScriptの場合、まずHTML側で動作確認した後にコードビハインドする作業が発生しますし、再度動作確認する必要があります。
 また、サーバのソースが多くなるので見栄えが良くなります。

<asp:Button>にonClickイベントが書けないからと言ってコードビハインドする必要はないですよね〜。<input type="bottun">使えばいいし、ユーザコントロールという手もありますからね。

僕は、JavaScriptを積極的にASP側に書きます。
ニケ
会議室デビュー日: 2006/07/08
投稿数: 3
投稿日時: 2006-07-08 14:21
引用:

べるさんの書き込み (2006-07-08 03:54) より:
メリットというかそれが本来の仕様にそったやり方ということじゃないでしょうか。
たとえばrunat="server"である<asp:Button>で、OnClickという属性はサーバーコードで
実行されるメソッドを表します。onClick="alert('OK');" と書いてもjavascriptは
動作しません。(2.0ではOnClientClickという属性がありますが)
ASPXはHTMLではありません。ちなみにコードビハインド側でJavaScriptのイベントが
"実行"されているわけではありません。



本来の仕様にそったやり方とはマイクロソフトが推奨しているやり方という事でしょうか?
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2006-07-08 14:24
私も<input type="bottun">で事足りる場合は(特にjavascriptが必要な場合でなくても)
そっちを使っちゃいます。そしてASPX側にjavascript書きますね。
HTML出力になるべく近い形で書きたいですからね。

# "ASPタグ"って<asp: が付くタグのことかと思った
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2006-07-08 15:38
引用:

べるさんの書き込み (2006-07-08 14:24) より:
# "ASPタグ"って<asp: が付くタグのことかと思った


あれ? 違ったんですか?
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2006-07-09 03:08
引用:

きくちゃんさんの書き込み (2006-07-08 15:38) より:
引用:

べるさんの書き込み (2006-07-08 14:24) より:
# "ASPタグ"って<asp: が付くタグのことかと思った


あれ? 違ったんですか?


わからないです。。。<asp: の話だと思ったので<input のことは考えませんでした。

引用:
本来の仕様にそったやり方とはマイクロソフトが推奨しているやり方という事でしょうか?

推奨というかASPXにjavascript書いたらHTMLに出力してくれる、という仕様を見たことが
ありません。事実、(前に書いたように)
<asp:Button onclick="alert('OK');" runat="server">
と書いてもalertは実行されません。

ただ、属性として書いたものがWebコントロールのプロパティでない場合、そのまま
HTMLに出力される、という動作のようなので(その仕様が正しいのか確認したことは
ないですが)、殆どの場合ちゃんとjavascriptとして出力されますけどね。

私は基本的に<asp: タグにjavascript直接書きませんが、それはVisualStudioで
「・・有効な属性ではありません」みたいに表示されるから、ですかね。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-07-09 19:18
ASP の話ですか? ASP.NET の話ですか?
って、ASP にビハインド コードはないか。

じゃぁ、JavaScript のイベントを、ビハインド コードに、どうやって書くのですか?

それとも、ビハインド コードで、
button1.Attributes.Add("onclick", "click event script");
ってするのはなぜ?って話?

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