Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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# 确定oninit事件中动态列创建的DDL值_C#_Asp.net_Dynamic_Viewstate - Fatal编程技术网

C# 确定oninit事件中动态列创建的DDL值

C# 确定oninit事件中动态列创建的DDL值,c#,asp.net,dynamic,viewstate,C#,Asp.net,Dynamic,Viewstate,大家好,希望这个复杂问题有一个简单的解决方案。请纠正我一路上的任何误解。 不久前,我写了一个具有动态列功能的GrivView。列将添加到OnInit页面事件中,以便在应用viewstate之前添加。它们将重新应用于页面此部分中的每篇帖子,以便在应用viewstate时,维护用户所做的且未提交到数据库的更改。如果您不想让viewstate控件树失去同步并破坏所有内容,那么也需要使用它 我目前的问题是,我现在的任务基本上是做同样的事情,根据下拉列表,列将不同(如果ddl发生变化,我将重新创建Grid

大家好,希望这个复杂问题有一个简单的解决方案。请纠正我一路上的任何误解。 不久前,我写了一个具有动态列功能的GrivView。列将添加到OnInit页面事件中,以便在应用viewstate之前添加。它们将重新应用于页面此部分中的每篇帖子,以便在应用viewstate时,维护用户所做的且未提交到数据库的更改。如果您不想让viewstate控件树失去同步并破坏所有内容,那么也需要使用它

我目前的问题是,我现在的任务基本上是做同样的事情,根据下拉列表,列将不同(如果ddl发生变化,我将重新创建GridView,用户将丢失所有工作,并发出警告)。如何获取在OnInit事件的下拉列表中选择的ID?我的理解是,当用户在客户端更改ddl的值时,会触发JavaScript“uu doPostBack”调用。页面请求随后被发送到服务器,但当新值出现在事件处理程序中时,我已经超过了需要添加列的位置

当人们试图确定是什么控件导致了发回帖子时,我看到了一些我认为是有希望的事情,但这些代码依赖于page.Request.Params.Get(“\uu EVENTTARGET”);和page.Request.Form,它们是空的

我是否应该查看会话状态,尝试使用客户端操作或其他方法“发送”ID(可能是一种偷偷摸摸地查看缺少的viewstate的方法)


谢谢你的建议

控件的提交值可从Request[]集合获得,即使您的表单似乎尚未重建

您只需在Init()期间使用以下方法获取所选值:

string value = Request["myDropDownID"];

出于某种原因,这只适用于第一次回发。还是比我的+1更好的答案