Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6089
  • 博文数量: 9
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 101
  • 用 户 组: 普通用户
  • 注册时间: 2015-07-02 09:27
文章分类

全部博文(9)

文章存档

2015年(9)

我的朋友

分类: C#/.net

2015-07-04 11:00:28

用NFinal框架开发的项目类似于MVC的那种开发方式,有Controller层、Model层、View层,还包括表现层Web层,在NFinal开发的项目中真正执行的代码也就是Web层中的代码,Web中的代码是根据Controller与View模板中的代码生成的执行代码,我们只需要在Controller中写好逻辑,在View中设计好页面然后运行WebComplier.aspx即可生成整个Web文件夹,然后只需要运行Web中相应的HTML页面即可。那么是怎么生成Web层的呢,接下来首先介绍控制器的相关内容,在接下来的文章中再了解View的相关内容以及生成Web层原理和代码分析。



控制器的定义

1.控制器必须写在Controllers目录下.

2.命名空间采用默认的命名空间,类名必须以Controller结尾,且必须继承自Controller基类.

3.其函数返回值类型为void,修饰符为public.


例:

1、在Controllers下新建SampleController.cs


点击(此处)折叠或打开

  1. using System.Collections.Generic;
  2.         using System.Web;
  3.         //由于项目名和模块名不同,命名空间也会不同,复制该代码也是无法运行的.
  4.         //必须手动添加该类,或是修改为正确的命名空间.
  5.         namespace WebMvc.App.Controllers
  6.         {
  7.             public class SampleController:Controller
  8.             {
  9.                 public void Show()
  10.                 {
  11.                     Write("Hello World.");
  12.                 }
  13.             }
  14.         }
2、右键点击WebCompiler.aspx选择在浏览器中查看

生成开始

生成结束

3、刷新项目文件夹会发现在Web层的Default文件夹下会出现SampleController文件夹.右键点击该文件夹选择包括在项目中,可以看到文件夹下有Show.cs与Show.html两个文件.

其中Show.cs的代码如下:

点击(此处)折叠或打开

  1. using System;
  2.         using System.Collections.Generic;
  3.         using System.Web;

  4.         namespace WebMvc.App.Web.Default.SampleController
  5.         {
  6.             public class ShowAction : Controller
  7.      {
  8.          public ShowAction(System.IO.TextWriter tw):base(tw){}
  9.          public ShowAction(string fileName) : base(fileName) {}
  10.                 public void Show()
  11.                 {
  12.                     Write("Hello World.");
  13.                 }
  14.             }
  15.         }

Show.html中的代码如下:

点击(此处)折叠或打开

  1. <!DOCTYPE html>
  2.         <html xmlns=" style="color:#0000CC;">>
  3.         <head>
  4.         <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  5.             <title</title>
  6.         </head>
  7.         <body>
  8.             <script>
  9.                 window.location.href = "/App/SampleController/Show.htm";
  10.      </script>
  11.         </body>
  12.         </html>

Show中的代码只是跳转并执行SampleController下的Show()方法.


4、右键点击并选择在浏览器中查看.可以看到浏览器输出Hello World.



阅读(362) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~