2011年8月27日土曜日

JavaScriptとC#の連携方法(2)

ずっと前にJavaScriptとC#の連携について投稿しました.まずはDOM要素にアクセスするところだけ投稿して,その後C#からJavaScriptの関数を呼んだり,その逆を投稿しようとして後回しにしたまま忘れていました.と言うことで,C#からJavaScriptの関数を呼ぶ方法および,JavaScriptからC#の関数を呼ぶ方法について説明します.
今回は「Microsoft Visual Web Developer 2010 Express」(以下VWD)を使用して,C#を使ってSilverlight3アプリケーションを作成しました.HTMLファイルはVWDによって自動生成されたものに若干手を入れています.

また,ものすごく単純化して,以下の2つの機能を持つ一つのアプリケーションを作成します.Silverlight→JavaScriptの例として,Silverlightで一つのTextBoxと一つのButtonを設置し,Buttonが押されたらJavaScriptにTextBoxの内容を受け渡して,JavaScriptでAlertを使って受け取った内容を表示します.次にJavaScript→Silverlightの例として,HTMLで一つのTextと一つのButtonを設置して,Buttonが押されたらSilverlightにTextの内容を受け渡して,SilverlightのTextBoxに受け取った内容を表示します.

C#からJavaScriptの関数を呼ぶ方法

まず,呼び出される関数(JavaScript)を生成します.VWDが自動生成したMHTMLファイルは,"<プロジェクト名>TestPage.html"という名前で保存されています.その中の(今回は)21行目から56行目にJavaScriptの記述があるので,そこに以下の内容を追加します.見れば分かると思いますが,messageを受け取って,その内容をalertとして表示するだけです.
注意事項として,"<プロジェクト名>TestPage.html"は,コンパイルの度に標準状態に戻されます.悲しい思いをしないよう,バックアップを作成しながら作業してください.


次に,上記alertData関数を呼び出すC#のプログラムを記述します.VWDでは当たり前ですが,C#のプログラムは,TextBoxやButtonを配置した後,そのButtonをダブルクリックすれば,面倒な関数定義などは自動でやってくれます.念のため断っておくと,MainPage.xaml.csというファイルを編集します.
プログラムでは,button1が押された場合に,textBox1の内容をalertDataに送るという処理を記述します.実際の呼び出しはInvokeメソッドで行います.第一引き数に呼び出したい関数名を文字列で与え,第二引き数にオブジェクト型の配列として,実際にalertDataに与えたい引き数を列挙します.


この例では使用しませんが,例えばalertDataが三つの文字列を受け取るのであれば,次のように記述します.

System.Windows.Browser.HtmlPage.Window.Invoke( "alertData", new Object[] { "mouse", "cow", "tiger" } );


JavaScriptからC#の関数を呼ぶ方法

C#→JavaScriptは簡単でしたが,JavaScript→C#はちょっとやっかいです.順に説明するので,焦らずにいきましょう.先ほどと同じように,まずは呼び出される関数から記述します.記述するファイルは先程と同じくMainPage.xaml.csです.


一目瞭然ですが,messageを受け取って,textBox1に代入しています.ScripttableMember()は,外部からアクセスできるメソッドであることを示します.次に,外部からプログラム内部にアクセスできるように設定するため,App.xaml.csに変更を加えます.具体的には,27行から始まるApplication_Startup関数に追加します.以下にApplication_Startup関数を全て掲載しますが,実際には4行目を追加することになります.


次に,HTMLに入力欄とボタンを設置し,さらにSilverlightオブジェクトにIDを付加してJavaScriptからアクセスできるようにします.1行目から4行目を追加し,7行目に「id="slobj"」を挿入してください.1〜4行目では,入力欄とボタンを設置しています.ボタンがクリックされたらsendSL関数(後述)を呼び出します.記述するファイルは"<プロジェクト名>TestPage.html"です.繰り返しますが,"<プロジェクト名>TestPage.html"はコンパイルの度に標準状態に戻されます.


最後に,"<プロジェクト名>TestPage.html"にsendSL関数を記述します.これは,前述したalertData関数に続けて記述してください.

見ての通り,HTMLのIDからSilverlightオブジェクトを取得(3行目)して,呼び出したい関数を記述(4行目)するだけです.4行目のMainPageは,App.xaml.csのApplication_Startup関数に記述した文字列なので,対応さえしっかりしていれば変更可能です.
このエントリーをはてなブックマークに追加

6 件のコメント:

Hà Tuấn Đạt さんのコメント...

đang cầm một tinh thạch màu trắng, hai mắt hồng quang lấp lánh.

-Hai tên oắt con các ngươi cứ đợi đến khi ta thoát vây sẽ để các ngươi thấy được thực lực thật sự của Thác Sâm ta!

Thác Sâm cười to. rồi hóa thành một tia chớp. Mục tiêu của hắn lần này chính là Vương Lâm.

-Vương Lâm! Bây giờ đến lượt ngươi!

Giọng nói của Thác Sâm hết sức lạnh lẽo, rơi vào tai Vương Lâm lập tức làm cho cơ thể hắn chấn động. Hồn Phiên quấy lấy cơ thể hắn vào bên trong rồi điên cuồng bay đi như tên bắn. Nhưng tốc độ của Thác Sâm lại nhanh hơn. Trong chớp mắt hắn đã đuổi kịp Vương Lâm, giọng nói âm u của hắn truyền vào trong tai Vương Lâm.
dong tam mu lậu cho thuê nhà trọ cho thuê nhà trọ nhạc sàn cực mạnh tư vấn pháp luật qua điện thoại công ty luật ở hà nội số điện thoại tư vấn pháp luật dịch vụ thành lập doanh nghiệp
-Ngươi không chạy thoát được đâu! Vương Lâm! Ta đợi ngày thôn phệ ký ức truyền thừa của ngươi đã lâu lắm rồi... ....

Sắc mặt Vương Lâm trở nên âm trầm. Tay phải hắn phất nhẹ, Chiến Phủ lập tức xuất hiện trên tay. Hắn đột nhiên xoay người lại, đem toàn bộ tiên lực bên trong cơ thể điên cuồng

حسام داود さんのコメント...

شركة تسليك مجاري بالرياض
شركة تسليك مجارى بالرياض
level تسليك المجاري بالرياض
افضل شركة تنظيف بالرياض
تنظيف شقق بالرياض
شركة تنظيف منازل بالرياض
شركة غسيل خزنات بالرياض
افضل شركة مكافحة حشرات بالرياض
رش مبيدات بالرياض
شركة تخزين عفش بالرياض
شركة تنظيف مجالس بالرياض
تنظيف فلل بالرياض
ابى شركة تنظيف بالرياض

احمد عبد العزيز さんのコメント...



افضل شركة نقل اثاث بجازان
عندما تقرر أن تنتقل لمنزل جديد فإن أول ما سيخطر ببالك هو بحث عن افضل شركة نقل عفش. و لكن قبل البحث بواسطة الانترنت عن الشركة المناسبة لك يجب أن يتوافر عدد كبير من المواصفات في الشركة التي تستعين بها. بداية من الاحترام بالمواعيد. و السمعة الطيبة. الحفاظ على الأثاث مـن التلف شئ مهم. و غيرها من المعايير المختلفة. ونحن نتمني ان ندعوك لقراءة الخطواط التالية لنقل الاثاث في شركة الطيب لتعرف أنك وصلت الي المكان الصحيح

شركة نقل عفش بجازان
ولان الصرف الصحى من اهم واخطر الاشياء الموجودة فى المنزل وفرنا احدس المعدات والايدى العاملة فى عملية تسليك المجارى بجازان ما عليك غير الاتصال برقم الشركة وينتقل اليك الفنين فى الحال يرو المشكلة على الطبيعة ويعطيك الحل
شركة تسليك مجارى جازان
شركه تنظيف الخزانات بجازان من احدث الشركات التى تقوم بتنظيف الاثاث بطريقه جيده ومتميزه ولن تجدها فى شركات اخرى حيث ان الاثاث يحتاج تنظيف بطريقه جيده حتى يحافظ عليه وعلى جماله
شركة تنظيف خزانات جازان
يعتبر انتشار المجارى أمرا من الأمور الخطيرة والتى تسبب العديد من المشاكل للجميع ,فالمجارى تسبب انتشار العديد من الأمراض الجلدية أو الأنفيه للأفراد نظرا للروائح الكريهه
شركة مقاولات جازان
نقدم كذالك شركة دهانات بجازان
شركة دهانات بجازان
تنظيف البيوت مهمه صعبه على الانسان العادى لان البيوت تتصف بكبر حجمها وتعدد حجراتها وتحتاج الى وقت ومجهود لا تقلق فشركة تنظيف بيوت بجازان توفر لك كل هذا بكفاءه ومهنيه حيث تقوم الشركه بتقديم هذه الخدمه بشكل جيد وعلى اكمل وجه وتقوم بتنظيف الارضيات والسيراميك والشجاد والموكيت والكنب والمقاعد وغيرها من الخدمات التى تتالق فيها
شركة نظاقة عامة بالرياض
الذى نسعى لتحقيقه وبالفعل كل عملائنا يسعدون لأنهم أشتركوا فى خدمتنا  وهى تنظيف الخزانات بالدمام فهنيئاً لمن يبادر بالحجز وأهلاً به فى شركتنا
شركة عزل خزانات بالرياض

احمد عبد العزيز さんのコメント...

شركة تنظيف بجازان من افضل الشركات على الاطلاق فى عالم التنظيف التى تبحث عنها حيث تقدم خدمه على اعلى مستوى من النظافه وتقوم بتنظيف جميع محتويات المنزل بما فيه السجاد والموكيت والمفروشات وتلميع البلاط والارضيات وغيرها انضموا الان لقائمه عملائنا لتحصلوا على خدمات متميزه
شركة تنظيف بجازان
لا أحد ينكر أن الحشرات تسبب الكثير من المشاكل و المضايقات عند رؤيتها داخل أو خارج المنزل ومنها ما يسبب الزعر والخوف كالحشرت المضرة ولكن ما لا يعرفة البعض أن الحشرات تسبب الكثير من الأمراض و تضر بالصحة إذا تم تجاهلها وعدم مكافحتها بواسطة مبيدات امنة ، لأن المبيدات نفسها إذا ما أستخدمت بطريقة آمنة فإنها تكون مصدرأً للضرر والإصابة بالأمراض أو في أبسط الإحتمالات تكون سببل نقل الأمراض أو نقل العدوي . شركة مكافحة حشرات بجازان
شركة مكافحة حشرات بجازان
شركة كشف تسربات المياه بجازان كلنا نعلم جيداً أن مشكلة تسربات المياه هى مشكله خطيره جداً على صحة الانسان وعلى سلامة منزلك فتسربات المياه قد تؤدى الى انهيار منزلك وفى نفس الوقت قد تختلط الاتربه بمياه الشرب وقد ينتج روائح مزعجه ناتجه عن وجود تسرب فى مواصير الصرف مع يمكنك أكتشاف جميع التسربات سواء تسربات مواصير الشرب أو الصرف أو غيرها فنحن متخصصون فى كشف تسربات المياه وذالك لخبرتنا العاليه منذ سنوات عديده ويوجد لدينا طاقم متميز من الخبراء فى فن كشف التسربات الذى يجيد عملية كشف التسربات بدقه وسرعه عاليه
شركة كشف تسربات المياه بجازان
تحتاج عملية رش المبيدات بصفة عامة إلى العديد من العوامل لضمان نجاح عملية الرش وذلك للقضاء على كافة أنواع الحشرات الموجودة في المكان المراد رشة ولضمان تحقيق نتائج طيبة في عملية الرش
شركة رش مبيدات بجازان
نحن سعداء بتقديمنا لكم خدمة عزل الخزانات بأرخص الاسعار وبجوده عالية وهذا بفضل ثقتكم الكبيره بنا وهذا يعطينا الثقه الدائمة فى تقديم كافة الخدمات التى نؤديها بالجوده والدقه التى تنول رضاء عملائنا الكرام لكى تزداد شهرتنا وعراقتنا داخل المملكة العربيه السعودية
شركة عزل خزانات بجازان

Mahmoud Elmahdy さんのコメント...


شركة العربى لتنظيف الخزانات بحائل تقدم لكم افضل المدربين المتميزين في استخدام افضل الالات والمعدات الحديثه لاتمام عملية تنظيف الخزانات في المنشات والمنازل وغبرها من الاماكن التى قد يتواجد فيها الخزانات تحت اشراف فنيين متميزين
شركة تنظيف سجاد بحائل
شركة تسليك مجارى بحائل و بالشرق الاوسط و وبجميع انحاء المملكة العربية السعودية نحن هل تبحثون عن أفضل شركات تسليك المجارى هل تريدون التخلص من كافه المشكلات المتعلقه بالصحة ومشكلات التنظيف التى تسببها المجارى من روائح وقازورات هل ليس لديك الوقت الكافى للبحث كثيرا عن شركات تسليك المجارى وتحاول الوصول الى حلول من شركات متميزة وذات كفاءة عاليه وخبرة محترفه
اهلا ومرحبا بكم عملائنا الكرام
شركة تسليك مجارى بحائل
شركة عربي مميزة في مجال التنظيف ولدينا عماله مدربة علي اعلي مستوى اهلا ومرحبا بكم عملائنا الكرام
شركة تنظيف بحائل
ولدينا خدمة تنظيف الخزانات من اهم الخدمات لدينا فاالعمال يبزلون جهدا كبيرا كلى تحصل على الدقة والجودهفي الاداء مع حسن المعامله
شركة تنظيف خزانات بحائل
فشركتنا لديها خدمة تنظيف الفلل والقصور والشقق والشركات واعمال البناء والمطاعم وغيرها فاذا كنت تريد تنظيف البيت كاملا من الداخل ومن الخارج او جزء منه مثل المجالس او السجاد والموكيت وغيره
شركة تنظيف مجالس بحائل
ى شركة العربى نقدم خدمة تنظيف المنازل نسعى دائما الى الافضل ولنا مميزات عديده ومختلفه وجديده اذا كنت تريد تنظيف بيتك فلا تبتعد عن شركة العربى لتحصل على الدقه والجوده فى الاداء مع حسن المعامله
شركة تنظيف منازل بحائل
فنحن نقدم لكم افضل المدربين المتميزين في استخدام افضل الالات والمعدات الحديثه لاتمام عملية تنظيف الخزانات في المنشات والمنازل وغبرها من الاماكن التى قد يتواجد فيها الخزانات تحت اشراف فنيين متميزين
فشركتنا لديها خدمة تنظيف شقق ومنازل واعمال البناء والمطاعم وغيرها فاذا كنت تريد تنظيف البيت كاملا من الداخل ومن الخارج او جزء منه مثل المجالس او السجاد والموكيت وغيره
شركة تنظيف موكيت بحائل
ذا كنت تريد عميلنا العزيز او تتمنى الحصول على اعلى مستوى من مستويات التنظيف التى تحلم بها فان شركة العربى لجلى البلاط بحائل تقدم لك ماتتمناه بسهوله تامه حيث تقوم بتنظيف البيوت والقصور والفلل والشقق والمدارس والمنازل والمكاتب وتقوم بتنظيف الارضيات والركن والرخام والتخلص من الشحوم والصدا التى تتواجد على الاسطح وكل ذلك نقوم به باستخدام الة البخار الحديثه التى تعمل على ازالة البقع بسهوله
شركة جلى بلاط بحائل

وللاستعلام عن اى شى اخر يرجى الاتصال بخدمة العملاء لدينا

Mahmoud Elmahdy さんのコメント...

شركة العربي لعزل الخزانات بحائل فلا تقلق عزيزى العميل فشركتنا شركة تنظيف خزنات بحائل متنوعه فى تقديم خدماتها لجميع العملاء فى المساحات المختلفه فان ما يميز شركتنا شركة تنظيف وتعقيم وعزل خزانات بحائل هو السرعه فى الاداء والمصداقية فى المعامله
شركة عزل خزانات بحائل
شركة العربي لكشف التسربات المياه بحائل تقدم افضل الخدمات التييحتاج اليها العميل والتى تساعد علي القيام بعملها دونان يتعرض ااى جزء بالمنزل لاى نوع من انواع الضرروقد يكون من افضل التعاملات التى يجربها العميل مع احد شركات كشف تسربات المياه

شركة كشف تسربات بحائل

تهتم الشركة أساسا بنقل الآثاث بحائل لتوفير الجهد والعناء في النقل على عملائها، فهي لديها القدرة على ذلك بمعاونة طاقم من عمالها وفنييها بكل سرعة واحترافية، حيث يقومون بفك الآثاث من مكانه القديم ونقله بالكامل
شركة نقل عفش بحائل

فقد تحتاج مكافحة الحشرات وخصوصا النمل الابيض إلى شركة تكون متميزة ورائدة في مجال القضاء على حشرة النمل الابيض للأبد فقد تزداد الحشرات في الدول العربية عموما وذلك لارتفاع درجة الحرارة وخصوصا حشرة النمل الابيض الضارة جدا والخطيرة وللتعرف اكثر عليها اتبع هذا الرابط
'''
شركة مكافحة نمل ابيض بحائل

شركة العربي هي الشركة الأولي في مكافحة الحشرات بجميع أنواعها والقضاء عليها وإبادتها نهائيا بدون عودة مرة أخري إلى المكان الذي قمنا فيه بمساعدتك على القضاء على الكابوس المزعج والمرعب وهو وجود الحشرات بأي نوع كان سواء زاحفة أو طائرة أو غيرهم من الحشرات التي تضر بالإنسان خاصة وبالبيئة عامة
شركة مكافحة حشرات بحائل
تعتبر شركة العربي لنقل الآثاث بمدينة حائل شركة عملاقة ومعروفة في هذا المجال، حيث تمتاز بسياراتها الحديثة والمتطورة في نقل الآثاث، فهي تحافظ على مقتنيات آثاثك من بداية نقلها إلى توصيلها إلى منزلك بدون تعرضها للكسر وبسرعة فائقة
شركة نقل اثاث بحائل

コメントを投稿