.NET Core 教程:构建一个Web应用程序
.NET Core 是一个跨平台的开源框架,可以用于构建高性能、可扩展的Web应用程序。在本文中,我们将通过一个简单的示例来展示如何使用 .NET Core 构建一个基本的Web应用程序。
环境准备
首先,你需要确保已经在你的计算机上安装了.NET SDK。你可以从 .NET官方网站 下载并安装适合你操作系统的版本。
安装完成后,你可以使用命令行工具来验证安装是否成功。打开命令提示符或终端,输入以下命令:
dotnet --version
如果成功,终端会显示安装的版本号。
创建项目
接下来,我们将创建一个新的ASP.NET Core Web应用程序。在命令行中,执行以下命令:
dotnet new webapp -n MyWebApp
这将创建一个名为MyWebApp
的新目录,并在其中生成一个基本的Web应用程序模板。
然后,进入项目目录:
cd MyWebApp
运行应用程序
在项目目录中,你可以使用以下命令来运行Web应用程序:
dotnet run
如果一切顺利,你将看到类似于以下的输出:
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
打开浏览器,访问http://localhost:5000
,你会看到默认生成的欢迎页面。
创建控制器
接下来,我们将创建一个简单的控制器来处理请求。首先,在项目中创建一个新的文件夹,命名为Controllers
。然后,在该文件夹中创建一个名为HomeController.cs
的文件,并添加以下代码:
using Microsoft.AspNetCore.Mvc;
namespace MyWebApp.Controllers
{
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
public IActionResult About()
{
ViewData["Message"] = "关于我们的页面";
return View();
}
}
}
创建视图
接下来,我们需要为HomeController
提供视图。在Views
文件夹中创建一个名为Home
的子文件夹,然后在该文件夹中创建一个名为Index.cshtml
的文件,并添加以下代码:
@{
ViewData["Title"] = "首页";
}
<h1>欢迎来到首页</h1>
<p>这是一个使用 .NET Core 创建的简单Web应用程序。</p>
<a href="/Home/About">关于我们</a>
同样,在Views/Home
文件夹中创建一个名为About.cshtml
的文件,并添加以下代码:
@{
ViewData["Title"] = "关于我们";
}
<h1>@ViewData["Message"]</h1>
<p>我们是一个致力于开发优质软件的团队。</p>
<a href="/">返回首页</a>
配置路由
在Startup.cs
文件中,确保路由配置如下:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
上面的配置指定默认路由为HomeController
的Index
方法。
运行应用程序
再次运行应用程序:
dotnet run
打开浏览器,访问http://localhost:5000
,你应该可以看到首页,并能够点击链接跳转到关于我们页面。
结语
通过以上步骤,我们成功地构建了一个简单的.NET Core Web应用程序,并添加了控制器和视图。你可以在此基础上添加更多功能,比如数据库连接、用户身份验证等,进一步扩展这个应用程序。如果想深入学习.NET Core,建议查看官方文档和各种 .NET 相关的资源。