.net动态控制生成问题

时间:2010-08-06 14:56:34

标签: c# asp.net dynamic controls

我正在使用asp.net网站(使用C#)。我已经将详细信息视图作为本网站数据输入系统的一部分实现。

详细信息视图包含一个下拉列表,用于将类别与提交到此数据输入系统的记录相关联。

代码隐藏文件访问数据源(SQL Server 2005数据库表),以确定与所选类别关联的字段,并根据该类别中可用的字段生成复选框控件

我理解(我认为).net页面生命周期,以及为每个回发添加动态控件以维护控件及其“状态”的必要性。但是:

  • 我读过我必须在页面生命周期的 Page_Init / initialisation阶段中添加动态控件,以便在回发时提供动态控件属性和事件< / p>

  • 查询数据源所需的值(以及确定类别选择的动态控件的数量和名称)在下拉列表的SelectedIndexChanged事件处理程序中分配,这是始终在Page_init事件后处理

我不确定如何在页面生命周期中的正确点(Page_init事件)将所需值(下拉列表的选定索引)传递给Page_Init事件。

我非常感谢stackoverflow社区提供的任何指示/帮助 并感谢您抽出宝贵时间阅读这篇文章。

2 个答案:

答案 0 :(得分:0)

您不必在init中添加控件,您也可以在page_load中添加它们。通常建议在init中添加它们,因为这是页面生命周期中标记实例化中定义的控件的点。为什么需要指定值以确定是否应在SelectedIndexChanged事件中添加控件。如果它基于下拉列表的SelectedValue,您是否可以简单地访问SelectedValue并在每个帖子上分配值,即使它没有更改。然后你可以在Page_Load中完成它,然后再添加你的控件。

答案 1 :(得分:0)

您所追求的值会回发到服务器,可以在Request.Form NameValueCollection中找到。关键是下拉列表的名称。