C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: VB.NETからJavaScript関数の呼出しとその戻り値


(過去ログ 112 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■66380 / inTopicNo.1)  VB.NETからJavaScript関数の呼出しとその戻り値
  
□投稿者/ tailer (1回)-(2013/04/18(Thu) 22:03:40)

分類:[.NET 全般] 

VB.NETから、JavaScript関数を呼び出してさらにその戻り値を取得する方法はありますか?
たとえば、「はい」「いいえ」の2つのボタンを持つJavaScriptメッセージボックスをVB.NETから呼び出し、
その戻り値をVB.NETで受け取りたいのです。

方法をご存知の方いましたら、ご教授ください。
引用返信 編集キー/
■66382 / inTopicNo.2)  Re[1]: VB.NETからJavaScript関数の呼出しとその戻り値
□投稿者/ Azulean (138回)-(2013/04/18(Thu) 22:59:12)
できるかもしれませんが、その JavaScript でやろうとしていることによっては、アプローチが絞られたり、難しくなったりするかもしれません。
メッセージボックスなどと書かずに、もう少し具体的なことも書いた方がいいかもしれません。
引用返信 編集キー/
■66383 / inTopicNo.3)  Re[2]: VB.NETからJavaScript関数の呼出しとその戻り値
□投稿者/ tailer (2回)-(2013/04/18(Thu) 23:15:11)
このメッセージボックスは、システム用のカスタムメッセージボックスで、
内容はただ「はい」「いいえ」です。
設計上、カスタムメッセージボックスを使用する仕様になっており、JavaScript側
からの戻り値をどうしても取得しないとならないのです。
引用返信 編集キー/
■66384 / inTopicNo.4)  Re[3]: VB.NETからJavaScript関数の呼出しとその戻り値
□投稿者/ Azulean (139回)-(2013/04/18(Thu) 23:28:37)
一つ確認です。
実行プラットフォームは何でしょうか。

ASP.NE? Windows Forms? WPF?


ASP.NET だとすると、クライアントサイドで実行した結果をサーバーサイドにポストバックさせるような何かが必要なはず。
なので、VB.NET のコードを実行中に、メッセージボックスを表示するという話は仕組みをきちんと理解できていない可能性があります。
(クライアントサイドのスクリプトやポストバックについて調べてみることをおすすめします)

Windows Forms / WPF だとするとその JavaScript は現状何で実行しているのかが情報として必要です。
引用返信 編集キー/
■66390 / inTopicNo.5)  Re[4]: VB.NETからJavaScript関数の呼出しとその戻り値
□投稿者/ tailer (3回)-(2013/04/19(Fri) 09:23:52)
実行プラットフォームは、ASP.NETです。紐付いているコードが
VB.NETで記述されています。
ClientScript.RegisterClientScriptBlockを使用して、メッセージを表示させる
ところまではできたのですが、戻り値が取得できず、、惜しいところまで来ている
のにあと一歩届かない、という感じで困っています。
引用返信 編集キー/
■66393 / inTopicNo.6)  Re[5]: VB.NETからJavaScript関数の呼出しとその戻り値
□投稿者/ Mira (2回)-(2013/04/19(Fri) 12:24:45)
No66390 (tailer さん) に返信
> 実行プラットフォームは、ASP.NETです。紐付いているコードが
> VB.NETで記述されています。
> ClientScript.RegisterClientScriptBlockを使用して、メッセージを表示させる
> ところまではできたのですが、戻り値が取得できず、、惜しいところまで来ている
> のにあと一歩届かない、という感じで困っています。

HiddenFieldを用意してconfirmの戻り値をvalueに格納してからPostBackする
サーバーサイドでHiddenFieldのValueを読み取って判定ですかね

違う方法を提案するとしたら
案1、AjaxControlToolKitのModalPopUp
http://www.atmarkit.co.jp/fdotnet/dotnettips/580aspajaxmodalpopup/aspajaxmodalpopup.html

案2、JavaScriptにこだわらないなら
MultiView(またはそれ相当の処理をする)
で選択画面に切り替えて処理する

案2は毎回サーバーへ処理を返さないとだめなので処理が遅くなりますが
JavaScriptはブラウザに依存する場合が多いのであまり複雑な処理をさせたくない場合もあります
引用返信 編集キー/
■66394 / inTopicNo.7)  Re[6]: VB.NETからJavaScript関数の呼出しとその戻り値
□投稿者/ WebSurfer (22回)-(2013/04/19(Fri) 15:53:11)
No66390 (tailer さん) に返信
>実行プラットフォームは、ASP.NETです。紐付いているコードが
>VB.NETで記述されています。
>ClientScript.RegisterClientScriptBlockを使用して、メッセージを表示させる
>ところまではできたのですが、戻り値が取得できず、、惜しいところまで来ている
>のにあと一歩届かない、という感じで困っています。

ModalPopup を使うのが簡単そうですが、クライアントコールバックという手法も使えると思います。

http://surferonwww.info/BlogEngine/post/2011/04/02/Client-Callback.aspx

例えば、上記に紹介したコードの CallServer メソッドを、「メッセージを表示させる」のに
使う JavaScript によって起動し、その際引数の arg を「はい」「いいえ」の選択結果によっ
て変えるのです。そうすればサーバー側 (VB.NET) で arg の値を取得できます。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -