我最近创建了一个包含ListView(LinqDataSource的数据绑定)的UserControl,它将用户控件添加到现有的aspx页面(动态加载usercontrol)。列表视图未在回发中呈现
我看到一个意外的行为,其中当我们最初加载页面时正在加载usercontrol和显示listview,但是当我尝试单击插入按钮(从ListView的InsertTemplate)发生回发时,页面重新加载,但没有任何我的ListView的迹象,甚至没有标题,查看页面源确认它已完全消失
问题不是在重新加载usercontrol,我可以看到来自同一个usercontrol呈现的其他元素好。
我已经到了使用usercontrol并将其加载到一个新的'测试'aspx页面的地步,它在那里工作得很好。我已经慢慢地从我现有的页面添加项目到测试页面(JavaScript,jQuery验证,recaptcha,其他asp.net控件),它仍然正常工作。现有的控件都不知道有关Listview的任何内容,所以我看不出它会如何受到影响。
任何有关为什么会发生这种情况的建议或调试选项的欢迎。现在我只是苦苦地将旧页面重新创建到我的测试页面,但现在我可以更好地使用其他地方了。
对我来说,下一步是将一堆链接的CascadingDropDowns移动到测试页面上。
更新: 我注意到回发的另一个症状,ListView的'ItemInserting'事件没有被触发。
感谢rtpHarry,有一些代码绑定正在进行,目前只是一个where条件,尽管这不在回发中。我已经有一个空的数据模板,它也没有渲染。 – TygerKrash 2011-05-20 13:47:42
在这里给你答案rtpHarry,因为这是你的帖子,让我到底。问题是我错过了ListView.DataBind()调用。添加它使我的listview渲染得很好。我仍然不太明白为什么它在我的测试页面上工作。 – TygerKrash 2011-05-20 15:28:53