Request.Form(" ListBox1.ClientID")什么都不返回

时间:2012-03-30 13:34:38

标签: asp.net user-controls master-pages request.form

Request.Form("ListBox1.ClientID") 

webcontentformusercontrols中不返回任何内容。但它与普通的webform完美搭配。

所有dropdownslistListbox都由jquery填充。因此,服务器无法检索所选值,因为根据服务器它们实际上并不存在,但它们确实存在于客户端。然后我使用Request.Form它与普通Webform完全正常,但在webcontentpagesusercontrols中使用它时,它不会返回任何内容。

我真的对这个问题感到厌烦,任何想法都会有所帮助。

3 个答案:

答案 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添加一个监视,这样你就可以确切地看到可以用来检索提交值的关键名称。