Request.Form("ListBox1.ClientID") ничего не возвращает

Request.Form("ListBox1.ClientID") 

ничего не возвращая в webcontentform а также usercontrols, Но он отлично работает с обычной веб-формой.

Все dropdownslist а также Listbox населены jquery, Таким образом, сервер не может извлечь выбранные значения, потому что они действительно не существуют в первую очередь в соответствии с сервером, но они существуют на стороне клиента. Тогда я использую Request.Form работает нормально с нормальным Webform, но он ничего не возвращает, пока я использую его в webcontentpages или же usercontrols,

Я действительно сосу с этой проблемой, любые идеи будут полезны.

3 ответа

Решение

Если вы заполняете элементы за пределами ViewState, как вы сказали, сервер не будет знать о них из-за этого. Вы можете взглянуть на этот вопрос для более глубокого понимания:

Обновление ViewState JavaScript на стороне клиента в формах asp.net

Я использовал раздел скрытых элементов в своих проектах с TextBoxes для хранения выбранных значений и кнопок, которые передают данные обратно на сервер через __doPostBack(); или же $button.click(); вызов.

Пытаться:

 Request.Form(ListBox1.UniqueID) 

Для доступа к значениям с помощью Request.Form Вы должны искать их по имени элемента управления, а не по идентификатору элемента управления. Итак, во-первых, убедитесь, что идентификатор элемента управления и имя элемента управления при отображении на странице совпадают, если вы хотите иметь возможность сделать Request.Form["SomeID"], Во-вторых, очень маловероятно, что фактический контрольный идентификатор в вашем случае "ListBox1.ClientID", Я думаю, что вы, вероятно, намеревались сделать Request.Form[ListBox1.ClientID] вместо. В-третьих, я советую ставить точку останова после публикации страницы и добавлять часы в Request.AllKeys так что вы можете точно узнать, какие имена ключей вы можете использовать для получения представленных значений.

Другие вопросы по тегам