![]() |
1
3
找到了一个奇怪的解决方案,我会发布,我们可以讨论一下,也许可以弄清楚为什么要修复它。 在我的页面上,我有以下结构(稍微解释一下标签): 页 下拉过滤器 中继器 用户控件X 数据源控件 引用下拉过滤器的控制参数 结束对象数据源 最终用户控件X 终端中继器 结束页 如您所见,repeater itemtemplate中有用户控件,而该控件又具有带有controlParameters的“有罪”对象数据源。这些控件参数在引用的父页上具有DropDownList筛选器的名称(因此,基本上,如果将此控件添加到任何其他页,则如果找不到具有正确名称的控件,则会失败)。 所以当我把所有的控制参数都改为参数时(删除了对DropDownList控件的引用),现在我不再得到这个错误。 我所能假定的是,这个数据源引用了父页上的控件,这意味着它在返回到DataBind()上页的控件集时遇到问题。你可能会认为它会第一次失败,如果它会失败,所以这仍然是一个谜。 有什么想法吗? |
![]() |
2
2
这是ASP.NET DataControls中的一个异常错误。我也遇到了类似的问题,在这个奇怪的错误之后损失了几个月,但最终得到了解决方案。原因是;要在itemtemplate中显示项,我们应该使用layouttemplate中的服务器控件作为itemtemplate的占位符。例如,我们可以在布局模板中使用带有id属性的table/div控件。在运行时,此占位符控件将替换为项模板的内容,“命名容器错误”将消失。 最后,如果在itemtemplate中有一个objectDatasource,请确保在布局模板中添加了具有“id”属性的somthing(如table/div)。 谢谢, 太阳神。 |
![]() |
3
1
雷把钉子敲在头上。你肯定错过了一个“如果”!ispostback)“某处。如何将用户控件添加到中继器?它是动态的吗?你说它在项目模板中,所以可能不是…但是多次调用page_Load意味着控件的多个副本。 |
![]() |
4
1
使用两个数据绑定。例子:
|
![]() |
Haim Ohayon · 这些链接之间有什么区别? 3 年前 |