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

问题描述:

问候,希望这个复杂问题有一个简单的解决方案。请纠正我一路上有的任何误解。 前段时间我写了一个带动态列功能的GrivView。这些列添加到OnInit页面事件中,以便在应用视图状态之前添加它们。它们被重新应用在页面的这一部分的每一个帖子中,以便在应用视图状态时维护用户已经做出并且未提交到数据库的更改。如果你不希望你的viewstate控制树不同步并且把所有东西都吹起来,它也是必需的。确定在oninit事件中动态列创建的DDL值

我现在的问题是,我现在主要在做其中列将基于一个下拉列表是不同的一回事任务(我将重新在GridView如果DDL变化,用户将失去与所有工作一个警告)。如何获取OnInit事件中的下拉列表中选择的ID?我的理解是,当用户在客户端更改ddl的值时,会触发JavaScript“__doPostBack”调用。然后,页面请求被发送到服务器,但是当新的值出现在事件处理程序中时,我已经过去了需要添加列的点。

我看到了一些我认为很有前途的东西,当人们试图确定哪些控件导致回发,但该代码依赖于page.Request.Params.Get(“__ EVENTTARGET”);和page.Request.Form是空的。

我应该看看会话状态,尝试使用客户端操作或其他方法'发送'ID(也许偷偷摸摸的方式来查看我缺少的视图状态)?

感谢您的任何想法!

即使表单尚未重建,控件的提交值也可从Request []集合中获取。使用以下

您应该简单地可以初始化过程中获取所选值():

string value = Request["myDropDownID"]; 
+0

出于某种原因,第一回发这只作品。比我的+1还好 – 2009-05-06 03:29:40