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

第三曲-视图与控制器的完美交融

时间:2015-06-03 18:56:43      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:

我们使用图纸来简单地描绘一下MVC模式:

技术分享

到了后面你就会发现,这种方式十分优雅,简洁。符合KISS原则。顺便一提,控制器和视图都不处理逻辑的逻辑处理全交给了模型,这可能和你以前接触到的有些许不同。不过我们马上就会看到MVC是如何优雅地处理模型。

接下来我们再看到视图,并把目光聚焦于布局视图。我们可以轻松地在Views/Shared下找到布局视图,MVC采用命名优先的方式来构建程序,也就是说只要你的名字符合某种规范,就不需要到处初始化,注册什么的了。

由于代码过多,我就不贴出来了,不出意外的话我们应该可以看到@RenderBody,@RenderSection方法。这两个方法分别是做什么的呢?

<div class="container body-content">
        @RenderBody()
        <hr />
        <footer>
            <p>&copy; @DateTime.Now.Year blackerXHunter  - ASP.NET Application</p>
        </footer>
    </div>

这行RenderBody代码几乎就象征了这个视图为布局视图,顾名思义,绘制身体,当然,也可以理解成绘制主体。布局文件只起到了布局的作用,使我们不需要写那么多相同的代码,比如<html></html>之类的。我们画张图来理解:

技术分享

没错,就是起到了替换的作用,renderbody在运行时就被普通视图给替换了。

同理,RenderSection也是如此:

@RenderSection("scripts",false)

布局文件中添加上面一段代码,再到普通视图添加这么一段代码:

@section scripts
    {
        <script type="text/javascript">
            var hello = "hello world";
            alert(hello);
        </script>
    }

那么上面那一行也会被下面这一段代码替换,第二个参数是指这个替换是否是必须的,我们给了false,也就是说,假如普通视图没有定义scripts section,这样不会报错。

在下一曲中我们将介绍分部视图和子动作,回见(? ̄△ ̄)?

技术分享

---《吹响!上低音号》

第三曲-视图与控制器的完美交融

标签:

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

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