2017-01-30 5 views
0

VB関数を呼び出すaspファイルにjavascriptがあります。javascriptからVB関数を呼び出す

のAsp javascript関数:VBで

<script type="text/javascript"> 
    function functionName(sender, args) { 
     var variable = args.get_value(); 
     PageMethods.VBFunctionName(variable); 
    } 
</script> 

機能:

<System.Web.Services.WebMethod()> 
Public Shared Function VBFunctionName(variable As String) As String 
    Dim result As String = variable 
    Return result.ToString() 
End Function 

そして、私はまた、ページの方法を可能にするためにScriptManagerを追加しました:

<asp:ScriptManager ID="sm" runat="server" EnablePageMethods="True"></asp:ScriptManager> 

をしかし、それはありますうまくいきません! aspファイルで、このオプションのためのオートコンプリートを 'PageMethods'とタイプすると利用できません。だから、エラーは、EnablePageMethodsと思う。

どうすればこの問題を解決できますか?

+1

アプリを実行するときにエラーメッセージが表示されますか? –

+0

エラーはありませんが、 "PageMethods.VBFunctionName(variable);"という行は関数を呼び出しません。私がPageMet ...をタイプし始め、PageMethods関数を選択するためにCTRL +スペースを試してみると、その関数は利用できません。 – Developer1903

+0

ブラウザのコンソールにエラーメソッドがありますか?そしてあなたのJavaScript関数の前にScriptManagerタグをページに入れましたか? – ADyson

答えて

0

あなたのコードの問題は、あなたがのAjax呼び出しを行うことではなく、サーバーからの応答を読み取るために任意のコールバックを設定しているということです。応答で何を行うかを設定するには、コールバック関数(およびオプションで失敗関数)を定義する必要があります。

だからあなたscriptタグは次のようになります - また

<script type="text/javascript"> 
    function functionName(sender, args) { 
     var variable = args.get_value(); 
     PageMethods.VBFunctionName(variable,onSuccess); //pass callback function 
    } 
    function onSuccess(response) { 
     alert(response); //Do whatever you wanna do with response. 
    } 
</script> 

は、我々はjavascriptのスクリプトタグ内部の作業をしているので、私は、Visual Studioをuにサーバーの方法を提案することができるようになりますとは思いません。

関連する問題