0

ファンクション キーを使用して、ASP.Net ページで VB.Net サブルーチンを呼び出そうとしています。Javascript 関数を使用してキーの押下を検出することができたので、Javascript から VB.Net サブルーチンを呼び出そうとしています。私は提案された2つの方法を見てきましたが、どちらも成功していません:

  1. jQuery の使用
  2. Web メソッドの使用

1) jQuery を使用すると、Web ブラウザーに PageMethods undefined というエラー メッセージが表示されます。EnablePageMethods = “True” で ScriptManager を使用しており、Javascript 関数に構文 “PageMethods.VBsubroutine()” がありますが、PageMethods が認識されないようです。

2) WebMethods も次のように宣言しました (テスト目的で)。

<System.Web.Services.WebMethod()> _
Public Sub ToggleTestButton()
    If btnTest.Text = “Alpha” Then
        btnTest.Text = “Omega” 
    Else
        btnTest.Text = “Alpha”
    End If
End Sub

一部の人は、WebMethods を次のように宣言する必要があると提案しています。

<System.Web.Services.WebMethod()> _
Public Shared Function xxx()

しかし、コントロールbtnTest.Textに下線が引かれているとエラーが発生します。オブジェクトのインスタンスを作成しなければならないことについて何か? 問題は、Shared. その上、関数から出力を取得するつもりはないため、Sub.

でなければならないと示唆する人もいますPublic Shared Function。なぜそうなるのか、または同じことを達成する別の方法がある場合は、アドバイスしてください。

4

2 に答える 2

0

ユーザーがブラウザー (クライアント側) で何らかのキーを押したときに、asp.net サーバーで vb.net 関数を呼び出しますか?

はいの場合は、ajax を試すことができます。

于 2012-10-25T15:28:51.387 に答える
0

webmethod ルートはページ上の要素にアクセスできません。私の間違いでない限り、非同期でサブルーチンを実行する必要がある場合にのみ使用してください。

私の意見では、これを行う最善の方法は、ページに非表示のボタンを配置し、関数呼び出しを検出する js からボタンをクリックすることです。

于 2012-10-25T14:42:31.893 に答える