1、创建一个特性路由器,通过Controler 控制器的方法将当前时间(年、月、日)显示在页 三、设计题 2.创建一个网页index.cshtml,使用Html.ActionLink 路由另外的一个网页second.cshtml。
时间: 2024-10-18 10:10:08 浏览: 33
在ASP.NET MVC中,要创建一个特性路由(Attribute Routing)和控制Controller方法来展示当前日期,你需要做以下步骤:
1. 创建特性路由器:
特性路由是MVC5引入的新功能,它允许你直接在控制器或动作方法上定义路由。首先,确保已启用特性路由。在Startup.cs中的`ConfigureServices`和`Configure`方法中添加以下代码:
```csharp
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc(options =>
{
options.EnableEndpointRouting = true;
// 如果没有这个,请添加
options.UseAttributeRouting();
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
...
}
```
然后,在你的Controller中,创建一个方法并标记为[HttpGet],用于获取当前时间和显示:
```csharp
using Microsoft.AspNetCore.Mvc;
public class HomeController : Controller
{
[HttpGet("/current-date")]
public IActionResult GetCurrentDate()
{
var now = DateTime.Now;
return View(now.ToString("yyyy-MM-dd"));
}
}
```
在这个例子中,访问 `/current-date` 将返回一个视图,包含当前的年、月、日。
2. 设计题 - 使用Html.ActionLink跳转:
在`index.cshtml`文件中,你可以使用`Html.ActionLink`来创建一个链接到`second.cshtml`页面:
```html
@* index.cshtml *@
<a href="@Url.Action("ActionName", "ControllerName")">Go to Second Page</a>
@* 或者更具体地,如果Controller和Action相同 *
<a href="@Url.Content("~/second.cshtml")">Go to Second Page</a>
```
这里假设"ActionName"是你在第二个Controller中用于导航的那个方法名,"ControllerName"是第二个Controller的名字。如果你的Controller和Action都叫`Second`,则可以直接用相对路径`~/second.cshtml`。
相关问题:
1. 如何在MVC中启用特性路由?
2. 特性路由主要用于哪些场景?
3. `Html.ActionLink`如何传递参数给目标Action?
阅读全文