我正在开发一个 CSS 框架,我可以将它作为 NuGet 包放入其他项目中。
为了保持整洁,整个框架——视图、样式、图像和母版页/布局页——实际上存储在 ~/CssThing/
与 WebForms 视图引擎完美配合,但是当我将 _layout.cshtml 文件移动到 ~/CssThing/ 然后修改我的 Razor 页面时说:
@{
Layout = "~/CssThing/_layout.cshtml";
}
它开始抱怨 ViewBag 没有定义,或者那个The name 'Url' does not exist in the current context
,或者其他各种奇怪的地方,表明视图不再从正确的基类继承。
我怎样才能让它工作?
注意:一切都像这样分开的原因是没有办法强制 NuGet 覆盖现有代码,并且没有办法在不拾取所有 jQuery 等引用的情况下启动一个空的 MVC3 Web 应用程序,所以与其冒险我的框架由于一半文件已经存在,所以部署一半,我将所有内容完全分开。