【发布时间】:2010-10-24 01:48:18
【问题描述】:
您好,希望这个复杂问题有一个简单的解决方案。请纠正我在此过程中的任何误解。 不久前,我写了一个具有动态列功能的 GrivView。这些列是在 OnInit 页面事件中添加的,以便在应用视图状态之前添加它们。它们会在页面的这一部分中的每个帖子中重新应用,以便在应用视图状态时,用户已经做出但未提交到数据库的更改会得到维护。如果您不希望您的视图状态控制树不同步并炸毁所有内容,这也是必需的。
我目前的问题是,我现在的任务是做基本上相同的事情,其中列将根据下拉列表而有所不同(如果 ddl 发生更改,我将重新创建 GridView,并且用户将失去所有使用警告)。如何获取在 OnInit 事件的下拉列表中选择的 ID?我的理解是,当用户在客户端更改 ddl 的值时,会触发 JavaScript“__doPostBack”调用。然后将页面请求发送到服务器,但是当新值出现在事件处理程序中时,我已经过了需要添加列的点。
当人们试图确定是什么控制导致回发但该代码依赖于 page.Request.Params.Get("__EVENTTARGET"); 时,我看到了一些我认为很有希望的东西。和 page.Request.Form 是空的。
我应该查看会话状态,尝试使用客户端操作或其他方法“发送”ID(也许是一种偷偷摸摸的方式来查看我缺少的视图状态)?
感谢您的任何想法!!!
【问题讨论】:
标签: c# asp.net dynamic viewstate