Reputation: 470
Is this possible:
I have web application with usercontrols in the following directory : C:\Users\Visual Studio 2010\WebSites\MS\Controls
I have another web application on my machine with the following location : C:\Users\Visual Studio 2010\WebSites\TestSite
Can TestSite load the userwebcontrol from different directory.
I tried the following in TestSite:
myUserControl = (UserControl)LoadControl("../WebSites/CMS/Controls/test.ascx");
But i get the error: The virtual path '/WebSites/MS/Controls/test.ascx' maps to another application, which is not allowed.
Tried using ~ at the beginning but comes up with The file '/TestSite/MS/Controls/Editor.ascx' does not exist.
Can this be done?
Upvotes: 8
Views: 9541
Reputation: 21
In my case, it was a wrong value for Layout
in the cshtml file.
It should be
Layout = "~/Views/Shared/_MySiteMaster.cshtml"
instead of
Layout = "/Views/Shared/_MySiteMaster.cshtml"
Upvotes: 2
Reputation: 821
UserControl.LoadControls(path) uses a VIRTUAL PATH, not a file-system path. If your VisualStudio project's root is C:\Users\Visual Studio 2010\WebSites\TestSite, then that is as low as that application will be able to reference (using the '~').
Upvotes: 5