Javascript ASP.NET部分回发表单值问题

Javascript ASP.NET部分回发表单值问题,javascript,asp.net,updatepanel,postback,Javascript,Asp.net,Updatepanel,Postback,在我的页面加载中,我正在创建一个 HiddenField newField= new HiddenField(); 然后我给它赋值newField.ID=“someid”和Value=“0”。在部分回发(由UpdatePanel触发)中,我将进行检查 Request.Form["someid"] 在回发期间的面板加载事件中。但是请求返回null,因为someid没有发回。(不包含在Request.Form集合中)为什么会这样 谢谢ASP.NET在默认情况下呈现给客户端时会损坏ID。要从表单集

在我的页面加载中,我正在创建一个

HiddenField newField= new HiddenField();
然后我给它赋值
newField.ID=“someid”
Value=“0”
。在部分回发(由UpdatePanel触发)中,我将进行检查

Request.Form["someid"]
在回发期间的面板加载事件中。但是请求返回null,因为someid没有发回。(不包含在Request.Form集合中)为什么会这样


谢谢

ASP.NET在默认情况下呈现给客户端时会损坏ID。要从表单集合访问它,请尝试以下操作:

Request.Form[newField.ClientID]

在代码隐藏中而不是在ASPX中创建字段有什么原因吗?是的,这些字段是为存储在数据库中的元素创建的。因此,它们需要动态创建。。这就是为什么我认为最好在updatepanel_Load事件中执行此操作。在创建新字段时,我还将ClientMode设置为static,这样就不需要执行此操作。但这不是问题所在,因为我在检查请求时设置了一个断点。Form value可以查看请求的AllKeys属性。Form没有使用任何类型的ID发回newField的值。是否将控件添加到更新面板的控件集合中<代码>UpdatePanel.ContentTemplateContainer.Controls.Add(新字段)谢谢!:)我将UpdatePanel.Controls.Add而不是容器添加到更新面板时出错。@没问题。建议:下次在你的问题中加入更多的代码。如果问题中包含了这一点,我们可能会发现。好的,对不起,我以后会尝试这样做。当我使用Request.Form访问updatepanel_Load方法中隐藏字段的键时,看起来它调用的键是“ctl00$MainContent$newField”,而不仅仅是“newField”,即使我将ClientdMode设置为Static。是否有一种方法可以防止它附加ctl00$MainContent$,或者有一种方法可以在服务器端代码中获取字符串“ctl00$MainContent$”,以便在Request.Form中查找正确的键?