Я использую ASP.NET и имею элемент управления "метка" на моей странице, которую я заполняю командой jQuery
$('#<%= myLabel.ClientID %>').html(content);
.val (), кажется, не работает с этим.
Так или иначе у меня есть проблемы при получении содержания в коде - позади. В коде, myLabel. Текстовое свойство все еще пусто.
Если вы хотите отобразить значение на клиенте и сделать его доступным на странице, вам понадобится ввод, который будет отправлен в код программной части при выполнении POST следующим образом:
$('#<%= myLabel.ClientID %>').html(content);
$('#<%= myInput.ClientID %>').val(content);
<asp:Label Id="myLabel" runat="server" />
<asp:HiddenField ID="myInput" runat="server" />
В коде программной части:
myInput.Value
Я думаю, ваша проблема в том, что метки (отображаются как span
теги) изначально доступны только для чтения в мире asp.net. Они не предназначены для использования в качестве элементов управления «вводом», и поэтому изменения их HTML на стороне клиента игнорируются на стороне сервера, где значения устанавливаются на основе ViewState.
Чтобы сделать то, о чем вы просите, вам также необходимо уведомить сервер об изменении, например, с помощью AJAX. Единственная проблема здесь заключается в том, что веб-методы ajax в вашем коде статичны, и из-за этого не могут получить доступ к элементу управления страницы, установленному для изменения значения .Text.
В конце концов, самый простой вариант - использовать скрытые поля, как сказал Ник. Это технически «входные» элементы управления, и их значения, измененные на стороне клиента, отправляются на сервер по вашему желанию. Вам просто нужно будет синхронизировать метку / диапазон и скрытое поле / ввод на клиенте.
Надеюсь, это поможет.