Skip to content
A flexible web framework supports .Net Framework and .Net Core
C# TypeScript JavaScript HTML Python Batchfile Other
Branch: master
Clone or download
Latest commit adbab5b Oct 16, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.


Codacy Badge Build Status Build status NuGet MyGet Pre Release Member project of .NET China Foundation

ZKWeb is a flexible web framework for .NET Framework and .NET Core.

Why created this framework?

  • I want a better plugin system, one folder one plugin just like django
  • I want an independent mvc framework, because MS change their architecture too often
  • I want a powerful template system enough to implemente a visual page editor


  • .NET Core Support
    • Support both .NET Framework and .NET Core
  • Plugin System
    • One folder one plugin, each contains everything it needs
    • Automatic compile and reload after source code has changed
    • Based on Roslyn compiler
  • Template System
    • Django style overlapping template file system
      • One plugin can just override other plugin's template
    • Template specialization for mobile or pc
    • Area-Widget style dynamic contents system
      • Able to implement a visual page editor based on this feature
    • Per-widget render cache
      • Most times it's better than cache the whole page
    • Based on DotLiquid
  • IoC Container
    • Fast
    • Provide IServiceProvider integration
    • ZKWeb own implementation
  • Multiple Host Environment
    • Support Asp.NET
    • Support Asp.NET Core
    • Support Owin
    • Use the common abstraction layer can make a plugin support all of this without different code
  • Multiple ORM
    • Support Dapper
    • Support EntityFramework Core (with full automatic database migration)
    • Support InMemory
    • Support MongoDB
    • Support NHibernate (with full automatic database migration)
    • Use the common abstraction layer can make a plugin support all of this with less different code
  • Localization
    • Multi-language support, with gettext style translation
    • Multi-timezone support
  • Caching
    • Policy based isolated cache
      • Isolated by device, request url, and more...
    • Abstraction layer for key-value cache
  • File Storage
    • Abstraction layer for file storage
  • Testing
    • Console and web test runner
    • Support IoC container overridden
    • Support Http context overridden
    • Support temporary database
  • Project Toolkits
    • Project Creator
    • Website Publisher
  • Linux support
    • Ubuntu 16.04 LTS 64bit
    • CentOS 7.2 64bit
    • Fedora 24 64bit

Features from the default plugin collection

  • Form generation and validation
  • Ajax table generation
  • CRUD page scaffolding
  • Scheduled Tasks
  • Captcha
  • Admin Panel
  • Automatic pesudo static
  • Multi-Currency and Region
  • And More...

Getting Started

In Short:
Open 'Tools\ProjectCreator.Gui.Windows\ZKWeb.Toolkits.ProjectCreator.Gui.exe' and create the project.

project creator

You can read under Tools first, for more information please see the documents.
For now there only chinese documents, if you can't read chinese please ask the questions in 'Issues'.
For those chinese software engineers, is recommended to join QQ group 522083886 for further discuss.


  • ZKWeb: NuGet
  • ZKWeb.Hosting.AspNet: NuGet
  • ZKWeb.Hosting.AspNetCore: NuGet
  • ZKWeb.Hosting.Owin: NuGet
  • ZKWeb.ORM.Dapper: NuGet
  • ZKWeb.ORM.EFCore: NuGet
  • ZKWeb.ORM.InMemory: NuGet
  • ZKWeb.ORM.MongoDB: NuGet
  • ZKWeb.ORM.NHibernate: NuGet

Links and License

Demo: (Login: demo 123456)
MVVM Demo: (Login: admin 123456)

Documents: (Chinese)

MIT License
Copyright © 2016~2019 303248153@github
If you have any license issue please contact

You can’t perform that action at this time.