これは、どのように動作するかを理解する必要があります。入力要素の値を変更すると、ブラウザでonchange
イベントがトリガーされるため、ブラウザはその処理方法を探します。したがって、要素に指定されたonchangeイベントを呼び出すと、呼び出されます。
今、ASP.NET OnSelectedIndexChanged
は、同じ機能を使用して(論理的に言って)、ページをサーバーにPOSTします。そこから、ASP.NETランタイムはコードビハインドファイルに書き込んだ関数をトリガし、結果を返します。サーバー上でしか実行できない操作を本当に必要としない場合は、サーバー機能を使用する必要はありません。代わりにjavascriptで行うことができます。
一方、サーバー上で何か起こるようなものがある場合、データベースが取得するように、OnSelectedIndexChanged
イベントを使用することになっています。
OnSelectedIndexChanged
イベントを使用しても、そこからいくつかのjavascript関数を呼び出すことができます。
Page.ClientScript.RegisterClientScriptBlock(typeof(string),"myScript","alert('HI')",true);
onchange
がinput
種類のイベントであり、かつASPXページに、私はあなたが同じイベントを持っていない<asp:..>
タグを使用していると思います、インテリセンスについてのあなたの質問に答えるために - ので、Visual Studioは、それが表示されませんインテリセンスで。しかし、それを置くと、ブラウザによって正しく解釈されるHTMLマークアップに割り当てられます。
賛否両論ブラウザ上
onchange
作品なので、サーバー側のコードよりもはるかに高速です。一方、ブラウザにはポップアップを制限する機能が備わっていました。したがって、本当に重要なメッセージを表示したい場合は、Server-SideイベントとRegisterClientScriptBlock
関数を使用する方がよいでしょう。
希望します。