我确信这已经得到了回答,但我找不到......也许是因为这些术语被用于许多不同的问题......无论如何。
如何在init事件中存储有关在回发等上构建动态控件的信息的最佳方式...
e.g。采取经典的“问卷调查”情景... question.aspx?id = 1
到目前为止我已经尝试/想过的事情:
任何帮助/指导等非常感谢!!!
答案 0 :(得分:1)
在回发期间,查询字符串仍然可用,因此您可以从那里获取ID。
如果您担心用户操纵查询字符串参数,那么您可能应该添加一些其他参数,以便在回发期间验证查询字符串的正确性。举个简单的例子,您可以添加ID参数的MD5哈希值和当前会话的ID,并在回发期间重新创建/比较该校验和。
答案 1 :(得分:0)
尝试在页面OnLoad中创建/加载用户控件。 如果要在usercontrol中加载其他usercontrol,请使用OnInit事件。
使用viewstate来持久保存在回发期间重新实例化用户控件所需的信息。要将回发数据映射到controltree,您必须确保拥有相同的控制树。在该映射之后,您可以更改您的controltree(加载一些其他控件,例如。)
contols-id:是的,你必须给它们唯一的ID,否则它将无效。如果您将问题存储在数据库中,那么使用数据库主键就不会有任何问题,因此请将它们命名为例如问题1,问题2(控制)