码迷,mamicode.com
首页 > 其他好文 > 详细

第二曲-视图(View)简介

时间:2015-06-02 14:56:50      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

欢迎来到视图这章,我们在序曲就谈过了,浏览器发送请求(request),我们的MVC程序的控制器接到请求,然后用视图进行渲染最终将渲染的数据发送到浏览器中呈现给用户。

视图文件是以.cshtml结尾的,cs?html?是的,还有vbhtml等,看到这里,应该可以猜到一些东西了吧?其实视图文件就是C#语言和html语言的结合而已。

我们来看看我在视图文件下写下的代码:

<div class="jumbotron">
    <h1 id="Welcoming">你好,我在这儿</h1>
    <h2 id="BloggerOwnerName">blackerXHunter</h2>
    <p id="SelfIntroduction">这货is a 小圆厨</p>
</div>

<div class="row">
    <div class="col-md-7">

        @foreach(var blog in Model) {
            <div class="SingleBlog">
                <a href="#"><h2 class="text-left">@blog.Name</h2></a>
                <h4> 我是文章内容</h4>
                <h6 class="text-left">发布时间:@blog.PublishDate</h6>
            </div>
        }

    </div>

    <div class="col-md-2"></div>

    <div class="col-md-3"></div>
</div>

我们顺着一路看下去,会发现都是html语言,但是,当我们看到一个@符号的时候,就感觉不对了,额,foreach循环?嗯,没错这就是视图的重要功能了——在html文件中嵌入C#语言,我们只需使用一个@符号就可以了,不过千万要注意的一点就是,@后面的语句不能带分号。我们可以把@看成一个表达式和语句块,他不能连接多行表达式和多个语句块。不过在ASP.NET5中(我们现在学习的是asp.net4),@符号会大幅削减,取而代之的是asp-*属性。

你可能会说,道理我都懂,但是那个foreach循环上的Model是个什么鬼?嗯哼~你猜(手动眼斜),我想应该有人会猜到了,它就是大名鼎鼎的MVC之Model。不好意思,我没把所有代码展示出来,上面是有几行关键性代码的:

@using VaporColdBlog.Domain.Models
@model IEnumerable<Blog>

@{
    ViewBag.Title = "首页";
}

第一句是一个命名空间引用,没什么好说的,第二句就是定义Model对象,这个相当于什么呢,相当于这个:

var Model = IEnumerable<Blog>

但是,千万注意的是——@model是小写!这个没什么好解释的,记住就可以了。

如果我们想写多行C#代码,比较好的做法是使用@{….}这样的形式。ViewBag是一个动态对象,存在于每个控制器中。我们可以定义一些我们需要的属性,然后在控制器,视图之间传递。你可能很奇怪,为什么我们没有写html标准文档。那是因为mvc有一种叫布局的cshtml文件,它相当于一个模板,使得每个视图都可以以这个模板为基础进行开发。它一般在~/Views/Shared/_Layout.cshtml。当然,我们也可以自行指定:

Layout = "~/Views/Shared/_Layout.cshtml";

我们接下来将继续讲述视图,欸,模型呢?("▔□▔)/  我刚才不是讲了么( ̄▽ ̄)

技术分享

----《吹响!上低音号》美丽大法好!!

第二曲-视图(View)简介

标签:

原文地址:http://www.cnblogs.com/blackerXHunter/p/4546224.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!