Передать параметр методу сервера, используя JavaScript

У меня есть открытая страница в коде за страницей, которая принимает строку. Я хотел бы вызвать этот метод из JavaScript.

Параметр, который я хочу передать, является переменной, которая отличается от ddl.

Итак, у меня есть что-то вроде этого:

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

Это передает слово "значение", а не данные в значении.

Я не могу понять правильный синтаксис для передачи данных в значении.

Спасибо

2 ответа

Решение

Как уже упоминалось, попытка доступа к коду C# непосредственно из javascript невозможна.

Однако вы можете общаться с ним косвенно.

Я думаю, что ваш лучший способ - использовать комбинацию jQuery и [WebMethod] приписывать.

Функция javascript, использующая jQuery для вызова 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

Другие вопросы по тегам