1

コード ビハインド ページに、文字列を受け取るパブリックがあります。このメソッドを JavaScript から呼び出したいと思います。

伝えたいパラメーターは、ddl から変更される変数です。

だから私はこのようなものを持っています:

 var value = document.getElementById('ddlContact').value;
        <%=PopulateContactFields("value") %>

これは、値のデータではなく、「値」という単語を渡します。

データを値として渡すための適切な構文がわかりません。

ありがとう

4

2 に答える 2

0

他の人が述べたように、javascript から直接 C# コード ビハインドにアクセスしようとすることは不可能です。

ただし、間接的に通信することはできます。

あなたのベストショットは、jQuery と[WebMethod]属性の組み合わせを使用することだと思います。

jQuery を使用して AJAX 呼び出しを行う JavaScript 関数:

function Search() {
    var search = $('#<%= ddlContact.ClientId %>').val();
    var options = {
        type: "POST",
        url: "Default.aspx/Hello",
        data: "{'name' :'" + search + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            alert(msg);
        }
    };
    $.ajax(options);
}

コードビハインド:

public partial class _Default : System.Web.UI.Page
{
    [WebMethod]
    public void Hello(string name)
    {
      return "Hi " + name;
    }
}
于 2010-03-11T16:13:34.713 に答える
-1

表示しているコードは、HTML の生成時にサーバー側で実行されます。つまり、ブラウザにヒットする前に実行され、ユーザーはページで何かを行う機会がありました。

ここでどのような構文を使用しても、現時点では必要な情報にアクセスできません。まだ存在していません。

ここでの正しいアプローチは、ページを投稿するか、AJAX を使用してこの情報をサーバーに送信し、要求/応答サイクルの最後で処理を行うことです。

別のオプションは、Javascript を使用してクライアント側で処理を行うことです。

于 2010-03-11T16:05:08.453 に答える