ASP GridView和DropDownList

时间:2015-02-06 20:28:52

标签: c# asp.net gridview

我有一个带有GridView控件的asp页面。网格视图中的一列是下拉列表。使用页面加载事件上的RowDataBound事件填充下拉列表。但是,列表中的某个选项(如果选中)将弹出一个对话框,允许用户将新项目添加到列表中,并且新添加的项目将成为该下拉列表的选定项目。这部分我工作正常,但我希望能够将新项添加到网格中每一行的下拉列表中。在某种程度上,如何在页面加载后重新绑定所有行中的下拉列表而不必遍历每个字段?

1 个答案:

答案 0 :(得分:0)

如果所有DDL都有一个共享的DataSource,那么它应该只是在添加新的listitem后强制回发。但是你如何添加新的listitem?

如果您的弹出窗口只是向html <option>标记添加新的html <select>标记,则这与更新DDL DataSource不同。

对于显示新listitem的所有DDL,弹出窗口必须执行更新DDL数据源的回发,并且GridView中的所有DDL控件都需要反弹。

假设DDL控件通过 DataSourceID 属性连接到其数据源,这将在回发时自动发生。如果您正在使用 DataSource 属性,则必须为每个DDL控件明确调用 DataBind() ,我认为您说过正在做GridView RowDataBound 事件。

或者你可以遍历你所有的ddl控件客户端并为每个控件添加相同的项目,但是下次刷新页面时你会丢失所有这些更改,我不认为这是什么你想要的。