Request.Form("ListBox1.ClientID")
在webcontentform
和usercontrols
中不返回任何内容。但它与普通的webform完美搭配。
所有dropdownslist
和Listbox
都由jquery
填充。因此,服务器无法检索所选值,因为根据服务器它们实际上并不存在,但它们确实存在于客户端。然后我使用Request.Form
它与普通Webform
完全正常,但在webcontentpages
或usercontrols
中使用它时,它不会返回任何内容。
我真的对这个问题感到厌烦,任何想法都会有所帮助。
答案 0 :(得分:7)
尝试:
Request.Form(ListBox1.UniqueID)
答案 1 :(得分:0)
如果您正在填充ViewState之外的项目,正如您所说,服务器将不会知道它们。您可以查看此问题以获得更多信息:
Client-side JavaScript ViewState Update in asp .net forms
我在使用TextBoxes的项目中使用了隐藏元素部分来存储选定的值和按钮,通过__doPostBack();
或$button.click();
调用将数据传回服务器。
答案 2 :(得分:0)
要使用Request.Form
访问值,您需要通过控件名称查找它们,而不是控件ID。首先,如果您希望能够执行Request.Form["SomeID"]
,请确保在页面上呈现时控件ID和控件名称完全相同。其次,您的案例中的实际控件ID不太可能是"ListBox1.ClientID"
。我想你可能打算做Request.Form[ListBox1.ClientID]
。第三,我的建议是,一旦页面回发,你就会设置一个断点,并向Request.AllKeys
添加一个监视,这样你就可以确切地看到可以用来检索提交值的关键名称。