标签:
我们使用图纸来简单地描绘一下MVC模式:
到了后面你就会发现,这种方式十分优雅,简洁。符合KISS原则。顺便一提,控制器和视图都不处理逻辑的,逻辑处理全交给了模型,这可能和你以前接触到的有些许不同。不过我们马上就会看到MVC是如何优雅地处理模型。
接下来我们再看到视图,并把目光聚焦于布局视图。我们可以轻松地在Views/Shared下找到布局视图,MVC采用命名优先的方式来构建程序,也就是说只要你的名字符合某种规范,就不需要到处初始化,注册什么的了。
由于代码过多,我就不贴出来了,不出意外的话我们应该可以看到@RenderBody,@RenderSection方法。这两个方法分别是做什么的呢?
<div class="container body-content"> @RenderBody() <hr /> <footer> <p>© @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