Как сохранить значение, установленное в JavaScript после обратной передачи

0

У меня есть следующая проблема. У меня есть страница и в событии Document Ready я вызываю веб-службу, которая возвращает строковое значение. После этого значение присваивается элементу управления Label (видимо). После этого я хочу использовать значение в Code Behind, но я не знаю, как его получить.

Все события Page_load, Page_Prerender ,... прошли до того, как значение было извлечено из службы, поэтому я не могу получить его ни в одном из них.

Если я попытаюсь получить его одним нажатием кнопки, страница сделает обратную передачу и потеряет значение.

Я попытался найти элемент управления через Request.Form но он все равно ничего не возвращает.

3 ответа

0
Лучший ответ

JQuery:

$(document).ready(function () {
    var ValueOFWebService = "sss";
    $('#hf').val(ValueOFWebService);
});

ASPX:

<input id="hf"  runat="server" type="hidden" />
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />

Код позади:

protected void Button1_Click(object sender, EventArgs e)
{
    Response.Write(hf.Value);
}
0

Вы можете сохранить значение в скрытом поле

Aspx:

<asp:HiddenField ID="CustomHiddenField" runat="server" ClientIDMode="Static" />

В коде за файлом:

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), Guid.NewGuid().ToString(), "someval=" + this.CustomHiddenField.Value, true);

Jquery:

$(document).ready(function () {
var value= someval;
$('#htmlemement').val(value);

});

0

Вы можете изменить значение label на стороне клиента, но вы не получите новое значение метки на стороне сервера, потому что оно не редактируется. вы можете поместить hidden field для этого, чтобы получить значение этого.

  • 0
    вы никогда не получите новое значение, потому что на сервере вы получите старое значение. Вы можете установить значение метки только на стороне сервера, а не на стороне клиента.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню