Never give up - LEO

人 只有在合适的地方 才能体现出最大的价值
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理
背景:
  我用ASP.NET建立了一个网站,然后在该程序中调用另外一个网站的用户控件,程序运行时报如下错误:
 
***********************************************************************
分析器错误信息: 虚拟路径“/Project/UcCtrl/ucButton.ascx”映射到另一个应用程序,这是不允许的。

源错误:

行 1:  <%@ Page language="c#" Codebehind="Manage.aspx.cs" AutoEventWireup="false" Inherits="myTest.Manage" %>
            行 2:  <%@ Register TagPrefix="uc2" TagName="ucButton" Src="../Project/UcCtrl/ucButton.ascx" %>
            行 3:  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
            行 4:  <HTML>
            

源文件: E:\MyTest\manage.aspx    行: 2
***********************************************************************
 
原因:
用户控件不能跨虚拟目录调用。
 
解决办法:
1.进入IIS,找到当前网站的虚拟目录,然后在该虚拟目录下建立一个新的虚拟目录,该
虚拟目录指向被调用用户控件所在的文件夹。
2.然后再调用用户控件时,改一下路径,如下:
<%@ Register TagPrefix="uc2" TagName="ucButton" Src="../Project/UcCtrl/ucButton.ascx" %>
改为:
<%@ Register TagPrefix="uc2" TagName="ucButton" Src="Project/UcCtrl/ucButton.ascx" %>