- Nancy官网——https://github.com/NancyFx/Nancy
- 概述:Nancy是一个开源的Web轻型框架内核符合MVC思想,有开发方便,路由简单的特点,而且功能齐全
- 起步:Hellow World
一.建立Asp.Net空Web应用程序
二.使用NuGet添加Nancy包的引用
安装三个Nancy应用包——Nancy.Hosting.Aspnet;Nancy;Nancy.Viewengines.Razor;
至此,环境已经搭好,上代码(注:必须在项目根目录建立Views文件夹,Nancy查找视图默认从该文件找起)
Nancy含Get、Post、Delete和Put等常用响应机制。
新建一个类(控制器)基于NancyModule类
public class Home:NancyModule { public Home() { Get["/"] = p => { return "ddd"; }; Get["/{Name}/{Id}"] = p => { return "Name:" + p.Name + "id:" + p.Id; }; } }
直接运行,则默认进入根目录下 返回“ddd”,如图:
在地址栏输入相关信息则指定返回输入的参数,如图:
此外,Nancy还支持Model类,现在类库中建立一个新类
1 namespace Nancy.Data 2 { 3 /// <summary> 4 /// 用户类 5 /// </summary> 6 public class SysUser 7 { 8 /// <summary> 9 /// 编号 10 /// </summary> 11 public string Id { get; set; } 12 /// <summary> 13 /// 用户Id 14 /// </summary> 15 public string userId { get; set; } 16 /// <summary> 17 /// 用户密码 18 /// </summary> 19 public string userPwd { get; set; } 20 } 21 }
在相应控制器中调用该类:
1 //指定跳转页面 路径为Views文件夹下的User文件中test.cshtml页面 2 Get["/test"] = p => 3 { 4 SysUser user = new SysUser(); 5 user.userId = "test123"; 6 user.userPwd = "tser8888"; 7 return View["User/test.cshtml", user]; 8 };
在视图中页面获得传入的user参数:
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title></title> </head> <body> <div> <p>用户名:@Model.userId</p> <p>密码:@Model.userPwd</p> </div> </body> </html>
运行结果:
最后,附上项目结构图:
之后,还会继续介绍Nancy的Post应用以及相应的其他应用等信息。