Как заполнить Label.Text - Собственность через jQuery - PullRequest
21 голосов
/ 22 марта 2010

Я использую ASP.NET и на моей странице есть элемент управления меткой, который я заполняю команда jQuery

$('#<%= myLabel.ClientID %>').html(content);

.val (), похоже, не работает с этим.

Почему-то у меня проблемы с получением контента в коде. В коде myLabel.Text-Property все еще пусто.

Ответы [ 2 ]

35 голосов
/ 22 марта 2010

Если вы хотите отобразить значение на клиенте и сделать его доступным на странице, вам нужен ввод, который будет отправлен на код после того, как вы выполните POST следующим образом:

$('#<%= myLabel.ClientID %>').html(content);
$('#<%= myInput.ClientID %>').val(content);

<asp:Label Id="myLabel" runat="server" />
<asp:HiddenField ID="myInput" runat="server" />

В коде позади:

myInput.Value
8 голосов
/ 22 марта 2010

Я думаю, что ваша проблема в том, что метки (отображаемые как теги span) изначально доступны только для чтения в мире asp.net. Они не предназначены для использования в качестве «входных» элементов управления, и поскольку такие изменения их HTML на стороне клиента игнорируются на стороне сервера, где значения устанавливаются на основе ViewState.

Чтобы выполнить то, что вы просите, вам также необходимо уведомить сервер об изменении, например, с помощью AJAX. Единственная проблема здесь - это то, что веб-методы ajax в вашем коде статичны, и из-за этого не могут получить доступ к элементу управления страницы для изменения значения .Text.

В конце концов, самый простой вариант - использовать скрытые поля, как сказал Ник. Это технически «входные» элементы управления, и их значения, измененные на стороне клиента, отправляются на сервер по вашему желанию. Вам просто нужно синхронизировать метку / диапазон и скрытое поле / ввод на клиенте.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...