NFinal 揭秘之控制器
用NFinal框架开发的项目类似于MVC的那种开发方式,有Controller层、Model层、View层,还包括表现层Web层,在NFinal开发的项目中真正执行的代码也就是Web层中的代码,Web中的代码是根据Controller与View模板中的代码生成的执行代码,我们只需要在Controller中写好逻辑,在View中设计好页面然后运行WebComplier.aspx即可生成整个Web文件夹,然后只需要运行Web中相应的HTML页面即可。那么首先来看下控制器相关的东西。
控制器的定义
1.控制器必须写在Controllers目录下.
2.命名空间采用默认的命名空间,类名必须以Controller结尾,且必须继承自Controller基类.
3.其函数返回值类型为void,修饰符为public.
例:
1、在Controllers下新建SampleController.cs
using System.Collections.Generic;
using System.Web;
//由于项目名和模块名不同,命名空间也会不同,复制该代码也是无法运行的.
//必须手动添加该类,或是修改为正确的命名空间.
namespace WebMvc.App.Controllers
{
public class SampleController:Controller
{
public void Show()
{
Write("Hello World.");
}
}
}
Controller Code
2、右键点击WebCompiler.aspx选择在浏览器中查看
生成开始
生成结束
3、刷新项目文件夹会发现在Web层的Default文件夹下会出现SampleController文件夹.右键点击该文件夹选择包括在项目中,可以看到文件夹下有Show.cs与Show.html两个文件.
其中Show.cs的代码如下:
using System;
using System.Collections.Generic;
using System.Web; namespace WebMvc.App.Web.Default.SampleController
{
public class ShowAction : Controller
{
public ShowAction(System.IO.TextWriter tw):base(tw){}
public ShowAction(string fileName) : base(fileName) {}
public void Show()
{
Write("Hello World.");
}
}
}
Show.cs Code
Show.html中的代码如下:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title</title>
</head>
<body>
<script>
window.location.href = "/App/SampleController/Show.htm";
</script>
</body>
</html>
Show中的代码只是跳转并执行SampleController下的Show()方法.
4、右键点击并选择在浏览器中查看.可以看到浏览器输出Hello World.
NFinal 揭秘之控制器的更多相关文章
- NFinal 控制器—URL
URL路由规则 规则:http://网址/模块名/控制器的相对路径的文件名/函数名.htm 例: http://localhost/App/IndexController/Index.htmhttp: ...
- 新作《ASP.NET MVC 5框架揭秘》正式出版
ASP.NET MVC是一个建立在ASP.NET平台上基于MVC模式的Web开发框架,它提供了一种与Web Form完全不同的开发方式.ASP.NET Web Form借鉴了Windows Form基 ...
- 新作《ASP.NET Web API 2框架揭秘》正式出版
我觉得大部分人都是“眼球动物“,他们关注的往往都是目光所及的东西.对于很多软件从业者来说,他们对看得见(具有UI界面)的应用抱有极大的热忱,但是对背后支撑整个应用的服务却显得较为冷漠.如果我们将整个“ ...
- 【转】【译】JavaScript魔法揭秘--探索当前流行框架中部分功能的处理机制
推荐语: 今天推荐一篇华为同事的同事翻译的一篇文章,推荐的主要原因是作为一个华为员工居然晚上还能写文章,由不得小钗不佩服!!! 其中的jQuery.angular.react皆是十分优秀的框架,各有特 ...
- NFinal中增加生成页面自动带入js和css
增加在WebCompiler.aspx页面中的application.CreateCompile(true);方法里. //写aspx页面的自动提示层 #region 插入js&css com ...
- 【腾讯Bugly干货分享】iOS黑客技术大揭秘
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/5791da152168f2690e72daa4 “8小时内拼工作,8小时外拼成长 ...
- ASP.NET Web API 2框架揭秘
ASP.NET Web API 2框架揭秘(.NET领域再现力作顶级专家精讲微软全新轻量级通信平台) 蒋金楠 著 ISBN 978-7-121-23536-8 2014年7月出版 定价:108.0 ...
- 快速入门系列--MVC--03控制器和IOC应用
Asp.net MVC也接触好久了,但由于自己一直主要负责后台,尤其是数据库方面的工作对于该框架并没有一个很好的了解,尤其是蒋金楠大师的ASP.NET MVC4框架剖析一书都买了2年多了,真正认真看过 ...
- 揭秘TPM安全芯片技术及加密应用
揭秘TPM安全芯片技术及加密应用 首发:http://safe.it168.com/a2012/0912/1396/000001396884.shtml 从2003年开始,重要数据丢失已经成为严重的信 ...
随机推荐
- CSS Hack是什么意思
CSS hack由于不同的浏览器,比如Internet Explorer 6,Internet Explorer 7,Mozilla Firefox等,对CSS的解析认识不一样,因此会导致生成的页面效 ...
- python自动化执行脚本
---恢复内容开始--- 1 (1)首先在你的.py文件上加上一行代码注释: #!/usr/local/bin/python2.7 (2)终端下执行: crontab -e 进入后,输入i 进入可编辑 ...
- lnmp架构下php安全配置分享
目录[-] 1. 使用open_basedir限制虚拟主机跨目录访问 2. 禁用不安全PHP函数 3. 关注软件安全资讯 4. php用户只读 5. 关闭php错误日志 6. php上传分离 7. 关 ...
- c - 将十进制转换为字符串.
递归实现: /* 输入:十进制整数. 输出:字符串. */ void conv(int decimal) { != ) conv(); putchar( + '); }
- C#--virtual,abstract,override,new,sealed
virtual:使用此关键字,可以使其在派生类中被重写. abstract:抽象方法,由子类重写,或继续为抽象方法存在,并由其子子类实现. override: 重写父类方法,属性,或事件的抽象实现或虚 ...
- myEclipse笔记(1):优化配置
一.设置字体 Window->Preferences->General->Appearance->Colors and Fonts 在右侧找到”Aa Test Font”双击或 ...
- poj 1182 并查集高级应用
C - 是谁站在食物链的顶端 Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:10000KB ...
- C/C++中的拷贝构造函数和赋值构造函数
代码: #include <iostream> #include <cstdio> using namespace std; class A{ public: A(){ cou ...
- uva 846 - Steps
找出步數與距離的關係即可得解. 0步最多能抵達的距離是0 1步最多能抵達的距離是1(1) 2步最多能抵達的距離是2(1 1) 3步最多能抵達的距離是4(1 2 1) 4步最多能抵達的距離是6(1 2 ...
- 模拟Hibernate动态生成SQL语句
这里有一个xml配置文件,也就是Hibernate框架中会用到的POJO和数据库的映射文件 <?xml version="1.0" encoding="utf-8& ...