CHAPTER 2 Your First MVC Application
使用Visual Studio 2017 创建 ASP.NET Core
演示了:
* ViewBag, 强类型视图
* Model Binding
* Tag Helper
* Validation
生成项目的目录结构
点击运行
添加Controller
Controller是用来处理web请求的,在C#中是一个类,继承自Microsoft.AspNetCore.Mvc.Controller
。 每个controller内部的public method都是一个 action method,是用来处理请求的真正了逻辑所在。
ASP.NET Core的Controller都放置在Controller文件夹中,名字都是以Controller结尾,默认的controller是叫做 Home。
将HomeController中的代码全部替换为:
using Microsoft.AspNetCore.Mvc;
namespace PartyInvites.Controllers {
public class HomeController : Controller {
public string Index() {
return "Hello World";
}
}
}
再次启动程序,就能够看到浏览器中输出的 Hello World
路由系统
当有URL请求来到的时候,ASP.NET 内部的 routing system(路由系统) 将根据请求地址来映射到对应的C# controller和action,这样就能正确的寻找到处理逻辑。
默认地, ASP.NET的HomeController中的Index方法是访问主页时的默认位置。 项目创建的时候,Starup.cs
中已经写入了默认路由规则:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
渲染View
修改HomeController:
namespace PartyInvites.Controllers {
public class HomeController : Controller {
public ViewResult Index() {
return View("MyView");
}
}
}
当action返回了一个 ViewResult
对象是,这就是告诉MVC让它渲染一个视图View。