Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 未按预期生成ASP.net动态控件_C#_Asp.net_Ajax_Dynamic_Controls - Fatal编程技术网

C# 未按预期生成ASP.net动态控件

C# 未按预期生成ASP.net动态控件,c#,asp.net,ajax,dynamic,controls,C#,Asp.net,Ajax,Dynamic,Controls,我有一个报告模块(C#asp.net),它使用动态控件来表示所选报告的各种参数 动态控件构建和显示良好(存储在SQLServer2008中的XML和用于转换为HTML的XSLT) 我的问题是,我有一个下拉列表(不是动态创建的),其中包含作为文本的报表名称和作为值的报表id。此DDL在其选定索引更改时回发。当DDL发回时,将填充包含所选报告id的会话和viewstate变量。我想读取这个变量并使用它生成动态参数控件。情况就是这样: 1.报告DDL初始值(text=“--Reports--”,val

我有一个报告模块(C#asp.net),它使用动态控件来表示所选报告的各种参数

动态控件构建和显示良好(存储在SQLServer2008中的XML和用于转换为HTML的XSLT)

我的问题是,我有一个下拉列表(不是动态创建的),其中包含作为文本的报表名称和作为值的报表id。此DDL在其选定索引更改时回发。当DDL发回时,将填充包含所选报告id的会话和viewstate变量。我想读取这个变量并使用它生成动态参数控件。情况就是这样:

1.报告DDL初始值(text=“--Reports--”,value=“-1”)

2.用户从DDL中选择报告

3.报告DDL用户选择的值(text=“Report1”,value=“1”)

4.DDL发回并生成动态参数控件

5.报告值1通过DDL的selectedindexchanged事件放置在会话/视图状态变量中

问题是在步骤4中,动态参数控件的生成报告值为-1,因为控件是在selectedindexchanged事件触发之前生成的,因此动态控件比DDL提前一步

所有这些控件都在AJAX updatepanel中(所有控件都在同一面板中)

最好的解决办法是什么

谢谢


Rich.

解决这一问题的最佳方法是进行一些小技巧,这将为您节省大量时间和挫折

在动态控件构造例程中,只需检查
Request[“MyDropDownID”]
下拉列表发布的值,而不是等待viewstate加载和下拉列表的事件处理程序启动


你可以在我的文章中看到更多关于这方面的解释。

解决这一问题的最佳方法是进行一些小的破解,这将为你节省大量的时间和挫折感

在动态控件构造例程中,只需检查
Request[“MyDropDownID”]
下拉列表发布的值,而不是等待viewstate加载和下拉列表的事件处理程序启动


关于这一点,您可以在我的中看到更多解释。

感谢womp将其整理出来。不太好用,但你可以用了!谢谢你把它整理好了。不太好用,但你可以用了!