ASP.NETはポストバック処理からWebページのJavaScript関数(function)を直接実行する機能はないようです。
それでもJavaScriptの関数を実行するタイミングをポストバックで制御したかったのでどうにかしてみました。
環境
・Windows8.1・Visual Studio Community 2013
・C#
どうするか?
次の処理を自分で作りました。- ASP.NETのポストバック処理はJavaScriptを実行したタイミングで画面上のラベル(<span>タグ)を特定の内容に変更する
- JavaSriptはラベルの表示が特定の内容になったら実行するように監視し続ける
ラベルはユーザーに見せる必要が無いのでスタイルシートで非表示に設定します。
ソース
JsFromCSharp.aspxJsFromCSharp.aspx.cs
画面を開いただけでは何も起きません。
ボタンをクリックするとポストバックされた後、JavaScriptが実行されます。
とても強引な気がしますが、JavaScriptでしか実行できないライブラリーを使うなど、やむを得ないときには効果あると思います。
関連ブログ
[ASP.NET] 動的に追加したイベントが動作しない[ASP.NET] 動的に追加したラベルやテキストボックスが消える現象の対策
[C#] タスクトレイにバルーンチップを表示するアプリ
[Unity3D] Visual Studio Community 2013を日本語化してUnityアプリを作る
Unity3DのソースをVisual Studio Expressで編集する
以上、参考になれば幸いです。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。