Скрытое поле не обновляется в updatepanel после перевода listview в режим вставки

#c# #javascript #jquery #asp.net #updatepanel

#c# #javascript #jquery #asp.net #updatepanel

Вопрос:

В настоящее время у меня возникла проблема, когда скрытое поле, значение которого задано в коде, не передается обратно клиенту. Базовая компоновка выглядит следующим образом:

 <asp:UpdatePanel ..... 
<ContentTemplate ....
    <input id="myHiddenField" type="hidden" value="" runat="server" ....

    <asp:ListView ID="MyListView" .....
  

У меня есть кнопка с событием on click, в ней я устанавливаю значение скрытого поля. Если я не переведу listview в режим вставки, значение передается обратно клиенту; однако, если я переведу listview в режим вставки, то ничего. Я также повторно привязываю источник данных к listview.

 void mybutton_click(object sender, eventargs e)
{
    myHiddenField.Value = "testing";
    MyList.InsertItemPosition = InsertItemPosition.FirstItem;
    MyList.DataSource = // my datasource
    MyList.DataBind();
}
  

Примечание сбоку: я повторно привязываю listview, чтобы можно было вызвать делегат с привязкой к данным, и я могу сделать там дополнительные вещи.

Комментарии:

1. Исправлено, что значение скрытого поля не передавалось обратно клиенту. Как оказалось, у меня была опечатка в моем средстве проверки вставки в шаблоне элемента вставки элемента управления представлением списка. Я закомментировал панель обновления и запустил без нее, asp.net выдает ошибку, предупреждающую меня о проблеме. На панели обновления ошибок не отображалось.

Ответ №1:

Вместо <input id="myHiddenField" type="hidden" value="" runat="server" используйте a <asp:HiddenField ID="myHiddenField" runat="server" /> , и все должно быть в порядке.