public class GreetingViewComponent : ViewComponent { public IViewComponentResult Invoke() { var greeting = "Good Morning!"; if (DateTime.Now.Hour > 12) { greeting = "Good Afternoon!"; } if (DateTime.Now.Hour > 17) { greeting = "Good Evening!"; } return View("Index", greeting); } }
该视图组件(view component)也需要响应的视图文件,示例如下:
@model string <h3>@Model</h3>
调用代码则需要使用权限的Component.Invoke方法,示例如下:
<div> @Component.Invoke("Greeting") </div>
另外还有一个Component.InvokeAsync方法,可以用于异步调用。关于视图组件的详细用法,请参考视图组件一章。
7
7是Entity Framework的下一个版本,虽然不属于ASP.NET 5的一部分,但有很大关系。EF7将和ASP.NET 5的RTM版本一起发布,虽然可能延期,但至少在那个时候会有一个可以在.NET Core上运行的基本ORM包,其不包括延迟加载、继承映射、并且只适应于SQL Server。如果不在跨平台上运行MVC6程序的话,你可以在.NET 4.5.2或4.6中继续使用EF6,
ASP.NET5和MVC6中的10大新变化
在新版ASP.NET5和MVC6中,有很多变化,有些是彻底的变化,比如在最底层支持依赖注入技术,为了方便了解,我们这里列出了最重要的10大变化,以便进行学习,具体如下:
ASP.NET 5现在已经是跨平台了,可以在Mac和Linux上运行。
不再有Web Forms框架了。
只支持C#,不在支持VB.NET了。(貌似最近又听说最终版VB.NET又要支持了)
新的Tag语法,@Html.LabelFor或Html.TextBoxFor替换成新语法<label asp-for="Name">或<input asp-for="Name" />,以便进行模型绑定。
新增视图组件(View Component),可以将局部内容定义为一个单独的组件进行调用,和Web Forms里的WebControl非常像。
拥抱前端技术,内置了Nodejs、NPM、Grunt、Bower技术。
模型整合,将MVC和WebAPI整合成一个框架。
支持AngularJS,帮内置了AngularJS的module、controller、directive、以及factory模板。
支持依赖注入技术,拥有原生的DI框架,并且也支持第三方容器。
支持xUnit.net,并抛弃了Visual Studio Unit Testing框架。
IDE
VS2015:VS2015就不用说了,依然高大上,目前不仅支持Nodejs、Python开发,还支持Android和iOS开发。
Visual Studio Code:为了能够在Mac或Linux操作系统上也能编写C#程序,微软又发布了一个 Visual Studio Code轻量级编辑器可以使用上述操作系统,依然是高大上啊,新功能和特性瞬间秒杀Sublime Text和Brackets,详细地址请访问:https://code.visualstudio.com/ 。
您可能感兴趣的文章: