- 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类,现在类库中建立一个新类
namespace Nancy.Data
{
/// <summary>
/// 用户类
/// </summary>
public class SysUser
{
/// <summary>
/// 编号
/// </summary>
public string Id { get; set; }
/// <summary>
/// 用户Id
/// </summary>
public string userId { get; set; }
/// <summary>
/// 用户密码
/// </summary>
public string userPwd { get; set; }
}
}
在相应控制器中调用该类:
//指定跳转页面 路径为Views文件夹下的User文件中test.cshtml页面
Get["/test"] = p =>
{
SysUser user = new SysUser();
user.userId = "test123";
user.userPwd = "tser8888";
return View["User/test.cshtml", user];
};
在视图中页面获得传入的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应用以及相应的其他应用等信息。