📅  最后修改于: 2023-12-03 14:53:40.887000             🧑  作者: Mango
如果你正在寻找一个简单的 ASP.NET 应用程序,该应用程序可以列出一年中所有的假期,那么你来对地方了!在本文中,我们将创建一个基于 ASP.NET 和 C# 的简单 Web 应用程序,它可以通过选择年份和国家来列出假期。
我们的目标是创建一个简单的 Web 应用程序,通过选择年份和国家来列出当年的假期。
在开始之前,请确保你拥有以下工具:
首先,打开 Visual Studio 并创建一个新的 ASP.NET Web 应用程序。选择 ASP.NET Web 应用程序模板,如下所示:
为项目命名,并选择 Web 应用程序模板。然后,点击“确定”按钮。
我们需要安装一些 NuGet 包来处理日期和假期。使用 NuGet 包管理器,在项目中添加以下包:
我们需要一个视图模型来存储假期信息。在 Models 文件夹下创建一个名为 HolidaysViewModel.cs 的类,并添加以下代码:
using System.Collections.Generic;
using Nager.Date;
namespace Holydays.Models
{
public class HolidaysViewModel
{
public int Year { get; set; }
public string CountryCode { get; set; }
public List<PublicHoliday> Holidays { get; set; }
}
}
我们需要一个控制器来呈现视图。在 Controllers 文件夹下创建一个名为 HolidaysController.cs 的类,并添加以下代码:
using System.Web.Mvc;
using Holydays.Models;
using Nager.Date;
namespace Holydays.Controllers
{
public class HolidaysController : Controller
{
// GET: Holidays
public ActionResult Index()
{
var model = new HolidaysViewModel
{
Year = DateTime.Today.Year,
CountryCode = "US",
Holidays = DateSystem.GetPublicHoliday(DateTime.Today.Year, "US")
};
return View(model);
}
[HttpPost]
public ActionResult Index(HolidaysViewModel model)
{
if (ModelState.IsValid)
{
model.Holidays = DateSystem.GetPublicHoliday(model.Year, model.CountryCode);
}
return View(model);
}
}
}
我们需要一个视图来呈现假期。在 Views 文件夹下创建一个名为 Index.cshtml 的视图文件,并添加以下代码:
@model Holydays.Models.HolidaysViewModel
@{
ViewBag.Title = "Public Holidays";
}
<h2>@ViewBag.Title</h2>
@using (Html.BeginForm())
{
<p>
@Html.LabelFor(model => model.Year)
@Html.TextBoxFor(model => model.Year, new { placeholder = "Year", required = "required" })
</p>
<p>
@Html.LabelFor(model => model.CountryCode)
@Html.TextBoxFor(model => model.CountryCode, new { placeholder = "Country code", required = "required" })
</p>
<p>
<button type="submit">Search</button>
</p>
<table>
<tr>
<th>Date</th>
<th>Name</th>
<th>Type</th>
</tr>
@foreach (var holiday in Model.Holidays)
{
<tr>
<td>@holiday.Date.ToShortDateString()</td>
<td>@holiday.LocalName</td>
<td>@holiday.Type.ToString()</td>
</tr>
}
</table>
}
现在我们可以运行我们的应用程序并看到结果。启动应用程序,选择你所在的国家和年份,点击“Search”按钮,就会列出假期信息了。
使用 ASP.NET 和 C# 构建一个简单的假日列表 Web 应用程序是非常容易的。本文介绍了一种方法来实现这个功能。希望这篇文章对初学者有所帮助。