JavaScriptを使用してパラメーターをサーバーメソッドに渡します
-
19-09-2019 - |
質問
コードの後ろに、文字列を撮影する一般公開があります。 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を使用して処理クライアント側を行うことです
所属していません StackOverflow