当前位置: 移动技术网 > IT编程>开发语言>.net > ASP.NET MVC 开源建站系统

ASP.NET MVC 开源建站系统

2018年09月29日  | 移动技术网IT编程  | 我要评论

exom成员,l535,白蜘蛛肉

一个挺有意思的项目,跟拼图一样的创建网站,先来几张gif感受一下:

\

\

\

官方地址:

下载地址:https://github.com/seriawei/asp.net-mvc-cms/releases

github:https://github.com/seriawei/asp.net-mvc-cms

开源中国社区:


演示地址:

后台:

用户名,密码:admin


zkeacms是基于easyframework,使用asp.net mvc4开发的开源cms。

zkeacms一个内容管理软件(网站)。zkeacms不仅只是管理内容,更是重新定义了布局、页面和,让用户可以自由规划页面的布局,页面和内容。

zkeacms使用可视化编辑设计,真正做到所见即所得,可直接在预览页面上设计页面。

zkeacms采用插件式设计,支持扩展新插件。

架设环境:

windows server 2003,iis 6 或以上

mssql 2005 或以上

.net framework 4.0,mvc 4

开发环境

microsoft visualstudio 2013

microsoft sql server 2005 以上

关于项目的特性大家到官网去看看就好了,这里主要讲讲code:

资源管理与应用(js/css):

资源定义

script("jquery").include("~/scripts/jquery-1.11.2.min.js", "~/scripts/jquery-1.11.2.min.js").requiredathead();
script("bootstrap").include("~/content/bootstrap/js/bootstrap.js", "~/content/bootstrap/js/bootstrap.min.js").requiredatfoot();
script("jqueryui").include("~/scripts/jquery-ui/jquery-ui.js", "~/scripts/jquery-ui/jquery-ui.min.js");
style("bootstrap").include("~/content/bootstrap/css/bootstrap.css", "~/content/bootstrap/css/bootstrap.min.css").requiredathead();
style("bootstraptheme").include("~/content/bootstrap/css/bootstrap-theme.css", "~/content/bootstrap/css/bootstrap-theme.min.css").requiredathead();
style("site").include("~/content/site.css", "~/content/site.min.css").requiredatfoot();

这里是对脚本和样式文件的定义,显示调用requiredathead()/requiredatfoot(),则无需主动加到页面中,默认都会使用该资源文件,加到页面的开头或者结尾。

资源的使用(.cshtml):

style.reqiured("site").athead();
script.reqiured("jqueryui").atfoot();
@using (script.atfoot())
{
    <script type="text/javascript">
        function create(xxx) {
           
        }
    </script>
}

为什么需要这样管理资源?因为zkeacms的页面是由不同的组件构成的,完全由用户选择在页面中显示什么组件,而不同的组件会需要不同的js或css,因此需要动态加载这些资源文件。

简单的数据和视图配置(元数据注册):

    [dataconfigure(typeof(carouselentitymetadata))]
    public class carouselentity : editorentity
    {
        public long? id { get; set; }

        public int? height { get; set; }

        public list carouselitems { get; set; }

    }
    class carouselentitymetadata : dataviewmetadata
    {
        protected override void dataconfigure()
        {
            datatable("carousel");
            dataconfig(m => m.id).asincreaseprimarykey();
            dataconfig(m => m.carouselitems).ignore();
        }

        protected override void viewconfigure()
        {
            viewconfig(m => m.id).ashidden();
            viewconfig(m => m.carouselitems).aslisteditor();
            viewconfig(m => m.height).ashidden();
        }
    }

编辑页面直接使用editorformodel:

在视图配置完以后(.astextbox(),.asdropdownlist()...) 直接调用editorformodel即可自动生成表单:

@html.editorformodel()

列表页面:

@(
 html.grid().setcolumntemplate(col => {
     col.add(m => m.title, "


[viewdataarticletype]
public override actionresult edit(articleentity entity)


registry.register(m => m.edit(null));


service.add(entity);
service.count(m=>m.id=1);
service.delete(primarykey);
service.delete(m=>m.id=1);
service.get(primarykey);
service.get(m=>m.id=1);
...


public class carouselservice : servicebase
{
}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网