【问题标题】:How to load the user contol from another project? [duplicate]如何从另一个项目加载用户控件? [复制]
【发布时间】:2012-12-05 12:26:18
【问题描述】:

可能重复:
Using User Controls from Other Projects in ASP

我有以下情况:一个解决方案有两个项目,A 和 B。其中一个项目 A 有一个 UserControl

现在我构建 A 并在 B 中添加对 A 的引用。如何在 B 中加载用户控件并访问该用户控件中的控件?

我想避免每次更改用户控件时都重新构建项目B

【问题讨论】:

标签: c# asp.net user-controls


【解决方案1】:

我以前是这样进行的,使用 IIS,ASP.NET 4.0:

  1. 将我希望 A 共享的控件 myControl.ascx 放在名为 SharedControls 的应用程序 A 的子文件夹中
  2. 在 IIS 中,向 B 添加一个虚拟目录(无应用程序,但具有执行脚本权限)'ASharedControls',指向 A 的 SharedControls(引用此子目录,您将避免 B 包括 A 的 web .config 在它的层次结构中,这会使 B 崩溃)
  3. 在 B 中,添加对 A 的项目引用
  4. 在 B 中,您现在可以在标记中声明和使用您的控件 <%@ Register TagPrefix="uc1" TagName="myControl" Src="~/ASharedControls/myControl.ascx" %>(VS 会警告找不到路径,但它应该在 IIS 中工作)
  5. myControl 也应该在 B 的页面和控件的代码隐藏中可用

根据您的页面和控件是代码文件/代码隐藏,您可能必须在 web.config 编译元素中设置 batch="false",以避免多重编译冲突:

<compilation defaultLanguage="c#" debug="true" batch="false" targetFramework="4.0">

希望这会有所帮助

【讨论】:

    猜你喜欢
    • 2017-12-16
    • 1970-01-01
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多