【问题标题】:Circular file references are not allowed for user control用户控制不允许循环文件引用
【发布时间】:2015-03-30 12:23:04
【问题描述】:

我在三个不同的目录(Comment、Comment1、Comment2)中创建了 3 个用户控件,例如 评论.ascx 评论1.ascx 评论2.ascx

参考下面给出的那些:

Comment.ascx > Comment1.ascx 评论1.ascx > 评论2.ascx 评论2.ascx > 评论.ascx

并得到如下错误:

 不允许循环文件引用。

根据我设置的一些论坛

batch="false"
在网络配置文件中,但我仍然收到错误。 有什么解决办法吗?

【问题讨论】:

  • var list = from a in users join b in country on a.countryid 等于 b.countryid select new { a.username,c.countryname }
  • 也可以参考这个链接:stackoverflow.com/questions/5207382/…
  • 为什么在 asp.net 中输入 ace_wysiwyg 编辑器时会失去焦点(您在可亮的仪表板页面中使用),我无法在此编辑器中输入我已经在另一个页面中添加了任何额外的东西那个?

标签: c# asp.net web user-controls asp.net-4.0


【解决方案1】:

this文章提到有两种解决问题的方法,虽然不建议使用batch= "false",因为会影响性能(老实说我不确定真实性)What is batch used for?

在我的 Asp.Net 网站项目中,两个或多个 WebUserControl 之间存在某种冲突,我有多个用户控件并且它们被放置在多个文件夹中,因此我阅读了 Visual Studio 给我的错误消息。

指的是错误的来源是用户控件,我改变了用户控件文件的位置并将它放在另一个文件夹中,然后我按ctrl + shft + B构建项目,这次我遇到了一些错误说那里是 WebUserControl 的一些错误地址,所以我更正了声明性地址(位于 Asp 页面的顶部),它是这样的:

<%@ Register Src="~/Controls/XFolder/Receiver.ascx" TagName="ReceiverProperties" TagPrefix="mdc" %>

我改成这个了:

<%@ Register Src="~/Controls/Receiver.ascx" TagName="ReceiverProperties" TagPrefix="mdc" %>

并且构建了项目,这次一切都很好!

就个人而言,我不知道添加 batch ="false" 属性是好是坏,因为名为 Asp.Net site performance secretsthis part of the book 建议与 this one 一样应用它!

【讨论】:

    【解决方案2】:

    您需要通过将公共代码放入可供 3 个用户控件使用的第四个程序集来打破循环引用链。

    【讨论】:

    • 你能简单解释一下吗?
    • 我在 .aspx 页面中引用了第一个用户控件
    • 为什么Comment2需要引用Comment?
    • 我在第三级使用 3 级数据层次结构,我想重用该用户控件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多