質問

コードの後ろに、文字列を撮影する一般公開があります。 JavaScriptからこの方法を呼び出したいと思います。

私が渡したいパラメーターは、DDLから変化する変数です。

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

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

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

適切な構文を理解して、値のデータを渡すことはできません。

ありがとう

役に立ちましたか?

解決

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

ただし、通信できます 間接的に.

あなたのベストショットは、jQueryと [WebMethod] 属性。

jQueryを使用したJavaScript関数は、AJAXコールを実行します。

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;
    }
}

他のヒント

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

ここで使用する構文に関係なく、この時点で必要な情報にアクセスすることはできません - まだ存在していません。

ここでの正しいアプローチは、ページを投稿するか、AJAXを使用して、リクエスト/応答サイクルのテールエンドで処理を行うことにより、この情報をサーバーに送信することです。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top