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