我在aspx页面上放置了HTML'Select'控件,它的项目(选项)是使用javasvript动态加载的。下拉列表中的项目在网页上正确显示。但是当我从下拉列表中选择任何项目时,它的选择索引不会在aspx.cs文件中返回。实际上,它将选择的索引显示为0,将“选择”html控件的大小显示为-1。 我在body标签中插入了javascript(在dropdown中插入项目)。我也试过在Body onload上调用javascript函数。但它没有帮助。 请指教。
答案 0 :(得分:2)
因为您通过javascript填充了列表,所以这些值不在ViewState中。因此,当它回发时,后面的代码不知道列表中的值。
您可以使用Request.Form [“ddWhatever”]来获取所选项目的值,但是当您在客户端上填充服务器端功能时,您将失去服务器端功能。
答案 1 :(得分:1)
这是正常行为。
为什么不绑定服务器端的值?使用<asp:DropDownList>
代替<select>
,给它一个ID,并在将其返回到客户端之前从.NET代码中填充它(可能在Page_Load上,并确保在绑定之前检查!IsPostBack)