Controller作用:

数据从数据库查询出来后,通过一定的业务逻辑,筛选出来一个结果集,我们最终的目的是要将这个结果集在页面中显示的。

Controller就是起到这个作用,将业务逻辑层的结果集调出来,然后通过Model,或者Json的方式返回到View(页面)里。

1.我们需要创建一个Conroller,继承封装好的BaseController.

2.将之前写好的PersonService实例化。

3.获取结果集。

-PersonService里有CrudService封装好的,增删改查常用方法,也有IsUnique这种我们在第三节自定义的方法。

4.将结果集返回到页面

-因为数据传递,现今JSON方法比较流行,这里就挑Json讲,其他的方法也有,可以自己试一下。

5.View中接受

-在View中调用后台Controller的Action,这里推荐使用Ajax方法,下面可以看到,

通过Ajax,如果传递一个userid值,他就可以判断,该用户是否为唯一。

如果不传递参数将返回所有用户的JSON集。

6.Ajax调用Controller方法

-我这里用的是Extjs封好的Ajax,也可以用JQuery的。

Ext.Ajax.request({
url: "Person/Index", //Action路径
async: false,
method: 'POST',
datatype: "text",//数据类型 params: {
userid: uid //传递的参数
},
success: function (result) { //返回的结果自动放在resut里面了 alert(result.responseText);
},
failure: function () {
alert("failure")
}
});

 7.到这里就可以将结果集,按你自己设计好的方式,在页面显示啦。

 8.Prodinner有好多设计好的页面,表格,按钮等,大家可以看着官方文档,都试一遍。

-因为我现在项目中应支持IE8,但Prodinner的一些页面设计,不兼容IE8,所以我的学习就到这里啦,

以后有机会用到,那个时候再深入了解吧。

[Prodinner项目]学习分享_第四部分(完结篇)_Controller层(控制器)的更多相关文章

  1. [Prodinner项目]学习分享_第一部分_Model层

    事先声明一下,小弟我是菜鸟一个,在研究大半天之后,基本会开发一些简单的功能了,特此分享一下,也为自己做一个笔记. 项目简介: MVC4 , EF5 , Code First , 多层架构 开发工具:V ...

  2. [Prodinner项目]学习分享_第三部分_Service层(业务逻辑层)

    前两节讲到怎样生成一个Model和怎样将Model映射到数据库,这一节将讲到业务逻辑层,也就是Service层. 1.Prodinner架构已经构建好的,基本的增删改查. 假设,我现在想操作第二节中讲 ...

  3. [Prodinner项目]学习分享_第二部分_Entity到DB表的映射

    1.单纯映射 基本语法为 modelBuilder.Entity<InsType>().ToTable("TB_InsType"); 2.一对多映射(表关系) 实体类B ...

  4. .Net基础篇_学习笔记_第四天_关系运算符和逻辑运算符

    1.关系运算符 包含:>   <   <=  >=   ==  != 以及bool类型中的true和false. 2.逻辑运算符 与 && 或 || 非 ! 注 ...

  5. .Net基础篇_学习笔记_第四天_加加减减

    using System.Linq; using System.Text; using System.Threading.Tasks; namespace 第四天_加加减减 { class Progr ...

  6. .Net基础篇_学习笔记_第四天_switch-case02

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. .Net基础篇_学习笔记_第四天_switch-case

    swith-case 用来处理多条件的定值的判断. 语法: switch(变量或者表达式的值) { case 值1:要执行的代码: break: case 值2:要执行的代码: break: case ...

  8. .Net基础篇_学习笔记_第四天_if结构

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  9. salesforce零基础学习(八十四)配置篇: 自定义你的home page layout

    当我们进入salesforce系统或者切换app后,默认第一个看到的就是home页面.home页面简单的来说可以包括左侧(narrow component)和右侧(wide component)两部分 ...

随机推荐

  1. web.xml配置error-page

    一. 通过错误码来配置error-page <error-page> <error-code>404</error-code> <location>/e ...

  2. ASCII字符对照表 不时之需

    ASCII可显示字符 二进制 十进制 十六进制 图形 0010 0000 32 20 (空格)(␠) 0010 0001 33 21 ! 0010 0010 34 22 " 0010 001 ...

  3. Count Complete Tree Nodes || LeetCode

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * s ...

  4. QTreeWidget

    #include "dialog.h" #include "ui_dialog.h" #include<QtCore> #include<Qt ...

  5. js检测浏览器是否支持某属性

    以检测浏览器是否支持 input 标签的 required 属性为例: var isSupport = 'required' in document.createElement('input');

  6. Nginx下Magento伪静态规则,适用于LNMP一键包

    文件名为:magento.conf(下载),将其放在 /usr/local/nginx/conf/ 文件夹下 然后在 /usr/local/nginx/conf/vhost/www.yourname. ...

  7. Linux系统下Redis安装(二)

    上一篇随笔,已经成功开启了Redis-server,客户端已经可以正常对redis进行正常操作. 但是,redis-server开启的同时,一个大大doc黑屏也在那里开启着,接下来就对讲解如何在Lin ...

  8. iScroll.js和swiper.js

    最近系统地学习了iScroll.js和swiper.js,感觉它们在移动端特别好用:http://www.360doc.com/content/14/0724/11/16276861_39669990 ...

  9. 如何保证App外包的最终质量,不延期不烂尾?

    选择App外包服务的客户,最害怕的就是App项目延期甚至烂尾.投入了巨大的时间和财富,结果最后App无法上线. 解决这个问题有两个方法:第一,在选择公司前,先了解清楚有关App外包的一切问题,做到心里 ...

  10. Linux上F上传文件到FTP服务器

    Linux上上传跟Windows上上传不一样,在Windows上测试没问题,但是放到Linux服务器上跑,上传的文件中文显示乱码.解决方案: FtpUtil.java红色标记处 package cn. ...