1. Nancy官网——https://github.com/NancyFx/Nancy
  2. 概述:Nancy是一个开源的Web轻型框架内核符合MVC思想,有开发方便,路由简单的特点,而且功能齐全
  3. 起步: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应用以及相应的其他应用等信息。

简洁的MVC思想框架——Nancy(环境配置与Get操作)的更多相关文章

  1. 简洁的MVC思想框架——Nancy(Session的使用)

    前文提到关于Nancy中GET和POST以及外部引用图片,css和JS的文件等操作.今天所讲的是Nancy关于Session相关操作. Session作为web开发中极其重要的一部分,而Nancy中S ...

  2. 简洁的MVC思想框架——Nancy(Post操作与外部引用css和JS)

    之前介绍了关于Nancy配置与Get基础操作,以下来介绍有关Nancy的Post操作. 第一步,设计主界面,以登录界面为例:Login.cshtml 路径为: 设计好页面后,在之前的modules类中 ...

  3. Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行(含系列目录)。

    前言: Taurus.MVC 微服务版本已经发布了:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单. 以前都是框架发布时写点相关功能点的文章,没有形成 ...

  4. SSH框架学习环境配置

    1.      java环境 安装 安装jdk7,根据自己的操作系统选择32位或64位安装. 配置 安装后需要配置环境变量,如下所示: 配置classpath,如下: 并在path中添加java6安装 ...

  5. Spring + Spring MVC+Hibernate框架整合详细配置

    来源于:http://www.jianshu.com/p/8e2f92d0838c 具体配置参数: Spring: spring-framework-4.2.2Hibernate: hibernate ...

  6. HNU_团队项目_数据库框架Mybatis_环境配置和样例

    前言 数据库从最传统的JDBC连接方式和数据库池化技术到Hibernate的使用,再到Mybatis的快捷轻量级操作,技术迭代的速度飞快. 在了解了基础的理论和方法后,学习前沿编程框架.工具,我认为是 ...

  7. bootstrap--响应式框架页面环境配置

    那就目录结构 页面环境代码: <!DOCTYPE html> <html lang="zh-CN"> <head> <!--默认编码--& ...

  8. 请问实现MVC的框架有哪些,实现持久化操作的框架有哪些,还有类似于spring整合的框架又有哪些

    2011-04-10 我知道MVC框架有struts.webWork; 持久化的有hibernate.ibatis,而进行整合的我只知道spring了 ------------------- 表示层框 ...

  9. Spring MVC 学习总结(一)——MVC概要与环境配置 转载自【张果】博客

    Spring MVC 学习总结(一)--MVC概要与环境配置   目录 一.MVC概要 二.Spring MVC介绍 三.第一个Spring MVC 项目:Hello World 3.1.通过Mave ...

随机推荐

  1. Comparison of programming languages

    The following table compares general and technical information for a selection of commonly used prog ...

  2. 从url获取参数有中文时会出现乱码的问题

    http://192.168.1.133/v2?groupId=58&opFlag=1&result=C,B,B,B,D&Name=本人很帅 我们js获取的url中的Name其 ...

  3. Python中int,bool,str,格式化,少量is,已经for循环练习

    1.整数 ​ 十进制转化为二进制 ​ xxx.bit_length(). #求十进制数转化成二进制时所占用的位数 2.布尔值 ​ bool # 布尔值 - - 用于条件使用 ​ True 真 ​ Fa ...

  4. 阿里云大学Linux学习路线图(学+测)重磅上线!

    推荐:阿里云大学—Linux运维学习路线(点击获取免费课程) 全新“学+测”模式 每阶段包含初.中.高三个难度等级考试,学完即测,找准短板,助您全方位自测掌握程度 课程系统全面 课程体系涵盖从Linu ...

  5. Test zram at kernel 3.10 4.12

    Use ltp to test zram 测试环境: #uname -r 3.10.0-327.ali2010.rc6.alios7.x86_64 没有指定zram algorithm(没有设置), ...

  6. NOI 2016 优秀的拆分 (后缀数组+差分)

    题目大意:给你一个字符串,求所有子串的所有优秀拆分总和,优秀的拆分被定义为一个字符串可以被拆分成4个子串,形如$AABB$,其中$AA$相同,$BB$相同,$AB$也可以相同 作为一道国赛题,95分竟 ...

  7. WordCount合作--自己部分

    前言: (1)合作者:201631062127,201631062625 (2)合作代码地址:WordCount 一.结对的PSP表格: PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟 ...

  8. 马上着手开发 iOS 应用程序

    https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOSCh/chapters/Introd ...

  9. Python socket通信之FTP

    Python中利用socket进行server端和client端通信是网络编程的基础,是最简单的传输范例. (懂网络的请自动跳过这一部分) 首先,要想通信,必须建立连接,建立连接的过程,需要clien ...

  10. js基础——事件绑定(事件监听)

    JavaScript事件一共有三种监听方法分别如下: 1.事件监听一夹杂在html标签内 <div id="box" onClick="alert('HELLO W ...