- - PR -
ASPタグにJavaScriptは使える!?
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-07-08 00:41
ASPタグにJavaScriptを記述するより、コードビハインド側にAttributeを使ってJavaScriptを実行するのが普通?みたいですが、コードビハインド側でJavaScriptのイベントを実行するメリットは何なんでしょうか?
| ||||||||||||
|
投稿日時: 2006-07-08 03:54
メリットというかそれが本来の仕様にそったやり方ということじゃないでしょうか。
たとえばrunat="server"である<asp:Button>で、OnClickという属性はサーバーコードで 実行されるメソッドを表します。onClick="alert('OK');" と書いてもjavascriptは 動作しません。(2.0ではOnClientClickという属性がありますが) ASPXはHTMLではありません。ちなみにコードビハインド側でJavaScriptのイベントが "実行"されているわけではありません。 | ||||||||||||
|
投稿日時: 2006-07-08 13:35
複雑なJavaScriptの場合、まずHTML側で動作確認した後にコードビハインドする作業が発生しますし、再度動作確認する必要があります。
また、サーバのソースが多くなるので見栄えが良くなります。 <asp:Button>にonClickイベントが書けないからと言ってコードビハインドする必要はないですよね〜。<input type="bottun">使えばいいし、ユーザコントロールという手もありますからね。 僕は、JavaScriptを積極的にASP側に書きます。 | ||||||||||||
|
投稿日時: 2006-07-08 14:21
本来の仕様にそったやり方とはマイクロソフトが推奨しているやり方という事でしょうか? | ||||||||||||
|
投稿日時: 2006-07-08 14:24
私も<input type="bottun">で事足りる場合は(特にjavascriptが必要な場合でなくても)
そっちを使っちゃいます。そしてASPX側にjavascript書きますね。 HTML出力になるべく近い形で書きたいですからね。 # "ASPタグ"って<asp: が付くタグのことかと思った | ||||||||||||
|
投稿日時: 2006-07-08 15:38
あれ? 違ったんですか? | ||||||||||||
|
投稿日時: 2006-07-09 03:08
ありません。事実、(前に書いたように) <asp:Button onclick="alert('OK');" runat="server"> と書いてもalertは実行されません。 ただ、属性として書いたものがWebコントロールのプロパティでない場合、そのまま HTMLに出力される、という動作のようなので(その仕様が正しいのか確認したことは ないですが)、殆どの場合ちゃんとjavascriptとして出力されますけどね。 私は基本的に<asp: タグにjavascript直接書きませんが、それはVisualStudioで 「・・有効な属性ではありません」みたいに表示されるから、ですかね。 | ||||||||||||
|
投稿日時: 2006-07-09 19:18
ASP の話ですか? ASP.NET の話ですか?
って、ASP にビハインド コードはないか。 じゃぁ、JavaScript のイベントを、ビハインド コードに、どうやって書くのですか? それとも、ビハインド コードで、 button1.Attributes.Add("onclick", "click event script"); ってするのはなぜ?って話? |