Как заполнить Маркировку. Текст - Свойство с помощью jQuery

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

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

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

Так или иначе у меня есть проблемы при получении содержания в коде - позади. В коде, myLabel. Текстовое свойство все еще пусто.

22
задан AGuyCalledGerald 22 March 2010 в 14:58
поделиться

2 ответа

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

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

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

В коде программной части:

myInput.Value
36
ответ дан 29 November 2019 в 04:33
поделиться

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

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

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

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

8
ответ дан 29 November 2019 в 04:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: