Javascript ASP.NET访问AJAX在回发时创建控件

Javascript ASP.NET访问AJAX在回发时创建控件,javascript,asp.net,ajax,postback,viewstate,Javascript,Asp.net,Ajax,Postback,Viewstate,我在运行时使用对web服务(.asmx文件)的AJAX回调生成2个下拉框和一个复选框列表控件。该服务在服务器上创建两个下拉列表和复选框列表,并使用javascript函数在运行时将呈现的html作为字符串注入网页 在回发过程中,我希望获得两个下拉框的值,并确定勾选了哪些复选框(如果有) 我认为在运行时注入页面的HTML不会在回发期间发送回服务器,这对吗?如果是这样的话,获取我的价值观的最明智的方式是什么 我认为获取动态控件值的最佳方法是在回发之前,使用javascript读取值并将其写入page

我在运行时使用对web服务(.asmx文件)的AJAX回调生成2个下拉框和一个复选框列表控件。该服务在服务器上创建两个下拉列表和复选框列表,并使用javascript函数在运行时将呈现的html作为字符串注入网页

在回发过程中,我希望获得两个下拉框的值,并确定勾选了哪些复选框(如果有)

我认为在运行时注入页面的HTML不会在回发期间发送回服务器,这对吗?如果是这样的话,获取我的价值观的最明智的方式是什么

我认为获取动态控件值的最佳方法是在回发之前,使用javascript读取值并将其写入page类的一个隐藏字段


如果有更好的方法,请分享

在回发期间检索值的一种方法是将值保存在隐藏字段中,正如元素名称所示,该字段在页面上不可见-

在回帖之前,您可以在javascript中填充所需的信息-

document.getElementById('countrySelected')。值='USA'

在codebehind中,您可以选择要使用的值-


countrySelected.value

由于Web服务创建了html,该html随后被注入页面,因此它们不是服务器控件,因此服务器无法知道它们的存在。在我看来,隐藏的html元素似乎是解决这个问题的方法

我能想到的三种常见方法是:;1使用AJAX回发整个表单,2使用Request.form集合获取当前值(不适用于所有控件,适用于大多数具有文本属性的控件),3将数据存储在隐藏的输入字段和/或cookie中。