MvcCms数据库交互部分,分析、示例中仅实现了Navigation的现实
原理:从数据库读取出Portal表中读取出Theme配置文件夹,在加载 Theme时,
_layout.cshtml页面中包含
@Html.Partial("ControlsNav/TopNavControl",Html.GetTopNav());
该代码制定到了 ~/view/share/ControlsNav/TopNavControl.cshtml
并将GetTopNav()访问到的信息传递到 ~/view/share/ControlsNav/TopNavControl
在TopNavControl.cshtml中的@model将接收到的信息转化为model,之后在TopNavControl.cshtml中便利出model数据。
代码不多,但值得关注的地方,theme的访问,这个很有意思,如果要明白其中的原理就要看 ~/Core/的两个theme engine相关类。 这两个类,重写了System.Web.Mvc下的engine中相关类中的虚方法,改写默认加载_layout.cshtml的路径。怎么运行 theme engine这两个类就要更多的去关注 castle windsor的 ioc DI 相关的知识了。
ok138cn太阳集团古天乐cache与动态数据库管理:就是代码实现,
if (exists cache)
根据key读取cache中的数据信息,加载上去
else
从数据库中读取
代码略……