asp.net – 动态列在回发后消失
发布时间:2020-12-16 04:31:37 所属栏目:asp.Net 来源:网络整理
导读:我有一个带有一些BoundFields和两个TemplateFields的GridView.在这两个TemplateFields中,我动态创建包含DropDownList和TextBox的UserControls,用户可以修改它们. 当我尝试在PostBack之后获取控件的值时,BoundFields中的值仍然存在,但我的动态控件消失了.我可
我有一个带有一些BoundFields和两个TemplateFields的GridView.在这两个TemplateFields中,我动态创建包含DropDownList和TextBox的UserControls,用户可以修改它们.
当我尝试在PostBack之后获取控件的值时,BoundFields中的值仍然存在,但我的动态控件消失了.我可以再次创建它们但它不会获得用户的值…如何在丢失之前获取这些值? 这是我的一些代码: 在RowDataBound事件中: Select Case type Case "BooleanBis" e.Row.Cells(2).Controls.Clear() Dim list1 As BooleanBisList = New BooleanBisList(avant,False) e.Row.Cells(2).Controls.Add(list1) e.Row.Cells(4).Controls.Clear() Dim list2 As BooleanBisList = New BooleanBisList(apres,True) e.Row.Cells(4).Controls.Add(list2) Case "Boolean" e.Row.Cells(2).Controls.Clear() Dim list3 As BooleanList = New BooleanList(avant,False) e.Row.Cells(2).Controls.Add(list3) e.Row.Cells(4).Controls.Clear() Dim list4 As BooleanList = New BooleanList(apres,True) e.Row.Cells(4).Controls.Add(list4) End Select 在我的按钮单击事件中,我尝试获取用户控件: Case "String" temp.ChampValeurApres = DirectCast(Tableau1.Rows(i).Cells(selectedColumn).Controls(1),TextBox).Text 但我得到它不存在的错误. 解决方法
您应该在
RowCreated而不是
RowDataBound中创建动态控件,因为此事件会在每次回发时触发,而RowDataBound仅在GridView获取数据绑定到其DataSource时触发.
必须在每个回发上重新创建动态创建的控件,并使用与之前相同的ID,然后将它们保留在ViewState中,并且事件将正确触发(例如,DropDownList的SelectedIndexChanged事件). 所以你应该在RowCreated中创建它们并在RowDataBound中“填充”它们(例如,DropDownList数据源/ Items或TextBox-Text). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 导出Excel文件以查看(MVC)
- kendo-ui – Kendo Grid的水平滚动
- asp.net-mvc-3 – 如何将ObjectResult转换为IQueryable?
- asp.net – 带有IIS且没有Node.js的Angular2
- asp.net – IF运算符与If之间的评估差异,然后,否则
- asp.net-mvc-2 – 从MCV2视图中的模型集合中读取DataAnnota
- .NET Core容器化之多容器应用部署@Docker-Compose
- asp.net – recaptcha https问题https://api-secure.recapt
- asp.net – 项目模板和布局模板之间的区别
- asp.net-mvc-3 – MVC 3 $.ajax – 响应似乎是从部分视图缓
推荐文章
站长推荐
- ASP.NET的智能卡身份验证
- ASP.NET Core中的OWASP Top 10 十大风险-失效的访
- asp.net-mvc-3 – 实体框架插件架构推荐
- asp.net-mvc – MVC 4提供的反伪造令牌是为用户“
- asp.net – 性能监视器显示活动的4294967293个会
- asp.net-web-api – Web API 2 OWIN承载令牌认证
- 关于Type Initializer和 BeforeFieldInit的问题,
- 在ASP.NET MVC 3中将参数从JQuery传递到Controll
- asp.net – app_offline.htm,停止IIS站点和停止应
- 在Entity Framework中使用存储过程(三):逻辑删
热点阅读