asp.net mvc 3.0详细笔记__10__创建强类型视图

       欢迎一起来学习MVC 3.0,我们在一步一个脚印的做一个MVC 3.0的项目,期间会有很多值得探索的地方。将会学到Razor,Lampda,Entity Framework,Linq C#新特性等等知识,一起加油吧!

本次重点突破

                       创建强类型视图

工具资源下载http://download.csdn.net/detail/dhcsimida/6779357下载过就不用重复下载了


        在添加视图时,有一个选项是关于"创建强类型视图"(英文:Create a strongly-typed view)的。你可能会问视图怎么还有类型呢?这要从控制器Controller说起,Controller的Action返回的视图View是可以带参数的,这个参数决定视图接收的是什么,如果Action返回的值不明不白,叫接受的视图怎么能搞清楚你要做什么?

(1)还记得文件Views/MyHome/Index.cshtml吗?(代码段1.1,图1.1)所示,当时没有创建强类型视图,完全是自行写的代码,那么删除这个文件,重新通过设定强类型的的方法做个试验,来透彻的分析下强类型视图的精髓。

代码段1.1

@model IEnumerable<MyMusicStore.Models.Artist>
@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>
    Index</h2>
<h6>
    My First MVC 3.0 APP</h6>
@{
    foreach (var ins in Model)
    {
    <span>@ins.Name</span><br/>
    }

}

图1.1


(2)选择"Create a strongly-typed view",并使用默认的模板。如图2.1

图2.1


(2)点击"Add",生成如下代码。如(代码段2.1,图2.1

代码段2.1

@model MyMusicStore.Models.Artist


@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}


<h2>Index</h2>

图2.1


(3)此时你会发现,利用强类型生成的和我们手动写的有所区别。

最明显的是第一条语句,那么

@model MyMusicStore.Models.Artist

@model IEnumerable<MyMusicStore.Models.Artist>

什么区别呢?

答:显而易见,@model MyMusicStore.Models.Artist一个Artist对象,而

@model IEnumerable<MyMusicStore.Models.Artist>是包含多个Artist对象的集合,那你又可能会问,为什么不使用 List<Artist>呢?我们使用IEnumerable<Artist> 是因为这样更通用,可以允许我们在以后改变集合为任何实现 IEnumerable 接口的集合。(List实现IEnumerable接口

(4)既然已经领会了强类型,就用最强的类型吧。再次把代码拷回文件吧。

@model IEnumerable<MyMusicStore.Models.Artist>
@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>
    Index</h2>
<h6>
    My First MVC 3.0 APP</h6>
@{
    foreach (var ins in Model)
    {
    <span>@ins.Name</span><br/>
    }

}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值