1 强类型的处理

首先必须要有一个对象的实体类,UserINfo就是一个实体类,如下:

public class UserInfo()

{

public  int Id{set;get;}

public string UserName{set;get;}

public int UserAge{setl;get;}

}

调用这个实体类的Action如下:

public ActionResult QiangLeiXing()

{

UserInfo userinfo=new UserInfo();

userinfo.Id=1;

userinfo.UserName="GRL";

userinfo.UserAge=20;

ViewData.Model=userinfo;

return View("View1");

}

页面View1的显示信息的代码如下:

使用强类型的代码需要引入强类型的Model,就是页面最上面的那一坨代码。在使用时候只需要用Model打点的方式就可以调出需要使用的信息。

至于为什么在前台使用Model就可以,原因如下:

用反编译的软件打开Model的定义函数时,现时的代码如下:

public TModel Model()

{

get{

return this.ViewData.Model;

}

}

也就是说.net  平台帮我们封装了一层,如果不封装这层函数,我们在前台使用的时候需要写的代码是

<%: ViewData.Model.Id %>

用具体的图示如下:

因此我们可以这么方便的使用强类型的数据。

2 弱类型

处理后台代码的Action 方法如下:

public ActionResult Index()

{

DataTable dt=sqlHelper.ExcuteDataTable("select ID, Class, Department, Teacher from TB_Class ");

ViewData["dt"]=dt;

return View("Home");

}

Home页面中的代码如下:

MVC强类型和弱类型的区别的更多相关文章

  1. [转]c# 泛类型(泛型) 以及强类型与弱类型的 理解及优化

    [泛型的概念](1)没有泛型的时候,所有的对象都是以object为基础,如果要使用时必须进行强制类型转换,如果对于值类型,则会导致不断拆箱装箱的过程,对系统消耗很大.(2)使用泛型时不需要通过obje ...

  2. c#中的强类型、弱类型和泛型

    强类型和弱类型的变量都有两个属性:类型和值. 强类型的变量类型是不能改变的,弱类型的变量类型是随需改变的,这是强弱的真正含义. 我们在编写c#代码时,变量类型是明确的,不可更改的,如string就是s ...

  3. 解释型vs编译型 动态vs静态 强类型vs弱类型

    ------------------------------------------------------------ 释型.动态语言与静态语言.强类型语言与弱类型语言的区别 编译型和解释型 我们先 ...

  4. 强类型 和弱类型 c#

    强类型的意思是,在编译的时候,已经确定类型了. 弱类型的意思是,在运行的时候,才确定类型

  5. python是强类型还是弱类型语言

    几句话了解python特性 Python 是强类型的动态脚本语言 好多人对python到底是强语言类型还是弱语言类型存在误解,其实,是否是强类型语言只需要一句话就可以判别, 强类型:不允许不同类型相加 ...

  6. MVC 强类型传值Model。和弱类型传值ViewData[&quot;&quot;]。及用EF进行增删查改(母版页的使用)

    <1> 控制器 </pre><pre name="code" class="csharp">using MvcTest.Mo ...

  7. 【C#基础概念】编程语言:弱类型、强类型、动态类型、静态类型

    一.看图区别编程语言 一般来讲,看第一个图就够了 这图是引用的,有错误,Python是强类型,但是图片中却归为弱类型了. 业界堆静态和动态的区分达到共识. 但是堆强类型和弱类型语言还未达成共识.我个人 ...

  8. CTF中常见的 PHP 弱类型漏洞总结

    作者:ZERO    所属团队:Arctic Shell 参考资料: http://archimesan.me/2017/12/21/php%E5%BC%B1%E7%B1%BB%E5%9E%8B%E6 ...

  9. Javascript 弱类型:除法结果是小数

    由于javascript是弱类型,只有一种var类型,所以在运算时不会自动强制转换,所以计算的结果是多少就是多少,但java中的17/10的结果就是1(强类型与弱类型)比如:console.log(M ...

随机推荐

  1. 使用STL map 用 string 做索引 插入删除数据

    1.代码 #include <map> #include <string> #include <stdio.h> #include <vector> # ...

  2. app.config中的connectionstring

    <connectionStrings>    <add name="wz" connectionString="server=www.junjv.com ...

  3. 3DMark Sky Driver

    Futuremark今天宣布,3DMark Sky Diver测试场景已经正式发布,现有用户可以免费更新. 3DMark的十几年历史上,这是第一次为某个版本增加全新的测试场景.升级后的3DMark版本 ...

  4. Ubuntu下配置C/C++开发环境

    在 Ubuntu 下配置 C/C++ 开发环境 转自:白巴的临时空间 Submitted by 白巴 on 2009-04-27 19:52:12. 学习笔记 虽然 Ubuntu 的版本已经是9.04 ...

  5. 【转载】python3.0与2.x之间的区别

    python3.0与2.x之间的区别: 1.性能 Py3.0运行pystone benchmark的速度比Py2.5慢30%.Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可以取得很好 ...

  6. laravel 外键schema RBAC

    $table->bigIncrements('id')  ;   Incrementing ID (primary key) using a " UNSIGNED BIG INTEGE ...

  7. Flink - FlinkKafkaConsumer08

      先看 AbstractFetcher 这个可以理解就是,consumer中具体去kafka读数据的线程,一个fetcher可以同时读多个partitions的数据来看看 /** * Base cl ...

  8. Lazarus如何变成XE的界面

    先设置: 进入“配置安装的包”,选中 EasyDockMgr 和 easyDockMgrDsgn 这两项,重新编译 Lazarus 吧 修改以后,界面就变成了XE的了:

  9. 原生js实现跑马灯抽奖效果

    目前好多的微信活动都有一些抽奖活动,其中就有跑马灯. <!DOCTYPE html> <html> <head> <title>跑马灯效果</ti ...

  10. 【No.1 Ionic】基础环境配置

    Node 安装 git clone https://github.com/nodejs/node cd node ./configure make sudo make install node -v ...