边学边写【从零开始学习ASP.NET Core】系列之一:让应用程序支持MVC(模型-视图-控制器)
作者:互联网
在上一文章中创建的项目是一个空项目,项目文件中只有3个文件,运行项目后,浏览器中是输出了Hello world!字符串,现在增加mvc功能。
首先,在项目中创建两个文件夹,Controllers和Views,分别用于存放控制器代码和视图文件。
然后,我们在Controllers文件夹中新建一个HomeController,IDE会自动生成一个返回值为IActionResult的Index()方法。再在Views文件夹中新建一个Home文件夹(文件夹的名称必须与控制器名称相同,去除控制器约定的后缀Contorller),用来存放Home控制器方法所对应的视图文件。在/Views/Home中新建一个Index.cshtml视图文件。
HomeController.cs
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
}
Index.cshtml
@{
ViewBag.Title = "Home Index";
}
<h2> This is home page.</h2>
<h5> Welcome you learning ASP.NET Core.</h5>
此时项目结构如下:
运行项目,浏览器中并没有出现我们在Index.cshtml中添加的HTML元素。
这是因为还没有注册MVC服务和配置路由。接下来,我们需要在Startup中增加一些代码。
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc(); //新增的代码-->注册MVC服务
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseEndpoints(endpoints =>
{
//endpoints.MapGet("/", async context =>
//{
// await context.Response.WriteAsync("Hello World!");
//});
//以上代码块在浏览器中输出的Hello World!,现在注释掉
endpoints.MapDefaultControllerRoute(); //新增的代码
});
}
}
现在运行项目,浏览器会默认输出HomeController中Index()方法所调用的视图,效果如下:
标签:Core,控制器,Index,视图,边学边,文件夹,Home,public 来源: https://blog.csdn.net/cangxi_liu/article/details/112684019