2015-02-14 6 views
0

Я пытаюсь передать значение переменной из javascript в C#.Ошибка передачи переменной с javascript на C#

Здесь на стороне клиента часть:

<input type="text" value="1" id="h" name="n" runat="server" /> 
    <script> 
    $("a").on("tap", function (event) { 
    var a = event.target.id; 
    $("#h").val(a); 
    }); 
    </script>   

и на стороне сервера часть:

<% 
string param = h.Value; 
Response.Write(param); 
      %> 

Поле ввода имеет начальное значение = 1. Событие JQuery изменяет атрибут value, скажем, 5. Когда я пытаюсь получить доступ к значению ввода со стороны сервера (h.Value), значение снова равно 1.

Что я делаю неправильно?

спасибо.

+5

Здесь есть фундаментальная проблема. Изменения в браузере происходят в браузере. Они не имеют никакого отношения к серверу, и вы не можете получить к ним доступ с сервера. Чтобы связаться с браузером на сервере, вам необходимо отправить HTTP-запрос от клиента обратно на сервер (например, через запрос AJAX или сообщение формы). –

+0

http://stackoverflow.com/questions/958040/what-is-ajax-really | http://api.jquery.com/jquery.ajax/ – Sumurai8

+0

Вот почему поле ввода имеет атрибут «runat». Это страница aspx. – Kostas

ответ

0

Я верю, что вам нужно использовать элемент управления ASP.NET TextBox вместо простого html input.

+0

@James Gaunt Использование элемента управления ASP.NET имеет тот же эффект. Похоже, что размещение значения с помощью AJAX неизбежно. – Kostas

Смежные вопросы