我最近一直在使用ASP.NET AJAX UpdatePanel控件来处理我一直在研究的一些内部网应用程序,并且在大多数情况下,我一直在使用它来动态刷新数据或隐藏和显示基于表单的控件用户的行为.
有一个地方我遇到了一些麻烦,我想知道是否有人有任何建议.我的表单使用了一个非常典型的基于表格的布局,其中表格用于显示标签和字段的网格供用户填写.(我已经知道有些人会避开基于表格的布局,而且我理解它的优点和缺点.但这是我做出的选择,所以请不要回答"不要使用基于表格的布局".)
现在我的问题是,有些时候,我会想包一个UpdatePanel周围的一组行,这样我可以隐藏和动态显示它们,但在UpdatePanel并没有真正让你做到这一点.基本的问题是它包围了一个div,据我所知,你不能在表行周围包装div.它不是有效的HTML.
所以我处理它的方式是让我的动态行完全是一个完整的新表的一部分,这是好的,但是你必须处理所有列与它上面的表手动对齐,这是一个真实的痛苦,相当脆弱.
所以,问题是......有没有人知道使用UpdatePanel或类似的东西动态生成或刷新行的任何技术?希望解决方案几乎就像在页面上删除UpdatePanel一样简单,但即使不是,我仍然希望听到它.
UpdatePanel呈现为DIV标记,因此在表行之间无效.如果你想要的是在保持你的(非常非常糟糕的)表格布局的同时隐藏内容,那么在行中包含一个样式标记,其中包含ASP var,用于可见性值,如下所示:
然后根据需要操作可见变量.
也就是说,在适当的布局旁边擦拭会伤害到你.