为了让多个网站拥有一个中央视图集,我创建了一个包含我的视图的外部库。它们被标记为内容并始终复制。
这个视图库在我的网站被引用,因此编译得到他们的bin文件夹中的“Views”文件夹。
后来我做了一个快速自定义视图引擎是这样的:从bin文件夹加载视图?
public class CommonViewLocator: WebFormViewEngine
{
public CommonViewLocator()
{
MasterLocationFormats = new[] {
"~/bin/Views/{1}/{0}.master",
"~/bin/Views/Shared/{0}.master"
};
ViewLocationFormats = new[] {
"~/bin/Views/{1}/{0}.aspx",
"~/bin/Views/{1}/{0}.ascx",
"~/bin/Views/Shared/{0}.aspx",
"~/bin/Views/Shared/{0}.ascx"
};
PartialViewLocationFormats = ViewLocationFormats;
}
}
运行后,我得到这个画面:
The view 'Index' or its master could not be found. The following locations were searched:
~/Views/Home/Index.aspx
~/Views/Home/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/bin/Views/Home/Index.aspx
~/bin/Views/Home/Index.ascx
~/bin/Views/Shared/Index.aspx
~/bin/Views/Shared/Index.ascx
什么错?
此外,感觉有点奇怪,bin文件夹有意见,欢迎任何其他建议。
安全确实是我想到的。但后来我会得到一个安全性错误,我猜想。 Htmlhelpers不会让我摆脱这个,因为我没有第一个地方的视图... – 2009-04-27 15:22:02