Web管理面板作为独立程序集

时间:2013-06-17 11:45:41

标签: c# .net asp.net-mvc razorgenerator

现在我正在研究基于MVC的网络分析系统。在开发过程中,我有一个很好的想法,即提取Web管理面板以分离组装。它适用于我的其他项目。因此,将来我可以引用该程序集而不关心布局Web面板。

Web面板本身只是一些设计紧凑的元素标记。它包含主菜单,子菜单和填充所需其他元素的位置。

目前,我使用RazorGenerator在这样的面板中有一个包含所有视图的程序集。

问题是如何管理此类程序集的css文件?我应该将它们内联到视图并将该视图放置到已编译的程序集中,还是将它们作为单独的css文件与程序集一起部署?

css捆绑包将被压缩/最小化或以最终项目的任何方式组合。

2 个答案:

答案 0 :(得分:3)

您可以将css和js文件打包为资源并使用资源处理程序提供服务,但如果出现设计异常,您将无法在将来的项目中编辑它们(例如,您需要修改css class因为它与另一个项目的主要css冲突)。

为什么不创建一个nuget包?一些优点

  • 您拥有zip文件中的所有内容(您无需发布程序包即可使用它)
  • 您可以直接从控制台添加项目
  • nuget为管理区域的视图和控制器创建相应的文件夹结构
  • 如果您需要删除它,只需将其卸载即可删除所有文件。
  • 另外,您可以灵活地为管理员修改css和js文件。
  • 这比在您的应用程序上使用“黑匣子”dll更容易处理路径并提供从应用程序其余部分隐藏的打包文件。

以下是一些有关如何创建自己的nuget包的教程:

答案 1 :(得分:1)

它是可部署的程序集吗?例如,它会被添加到许多不同的系统,不同的位置,还是会用在公司网络上?

如果您正在部署程序集,那么您可能希望将css编译为资源&使用ASP.Net内置的资源处理程序来为css提供服务。因此,您对其他任何内容都没有依赖性,您可以预先压缩/缩小css&主机服务器可以处理缓存。

如果是公司网络或您控制的服务器,请将css放在中央服务器上。让他们都参考该位置。以前的方法在这里同样适用。