这可能吗:
我在以下目录中有usercontrols的web应用程序: C:\ Users \ Visual Studio 2010 \ WebSites \ MS \ Controls
我的机器上有另一个Web应用程序,位置如下: C:\ Users \ Visual Studio 2010 \ WebSites \ TestSite
TestSite可以从不同目录加载userwebcontrol。
我在TestSite中尝试了以下内容:
myUserControl = (UserControl)LoadControl("../WebSites/CMS/Controls/test.ascx");
但我收到错误:虚拟路径'/WebSites/MS/Controls/test.ascx'映射到另一个应用程序,这是不允许的。
在开始时使用〜但尝试使用'/TestSite/MS/Controls/Editor.ascx'文件不存在。
可以这样做吗?
答案 0 :(得分:5)
UserControl.LoadControls(path) uses a VIRTUAL PATH,而不是文件系统路径。如果您的VisualStudio项目的根目录是C:\ Users \ Visual Studio 2010 \ WebSites \ TestSite,那么该应用程序将能够引用(使用“〜”)。
答案 1 :(得分:2)
就我而言,cshtml文件中Layout
的值是错误的。
它应该是
Layout = "~/Views/Shared/_MySiteMaster.cshtml"
而不是
Layout = "/Views/Shared/_MySiteMaster.cshtml"