在ASP.NET MVC CORE中,可以使用路由特性来为控制器操作指定别名。以下是一个示例代码:
using Microsoft.AspNetCore.Mvc;
namespace MyApplication.Controllers
{
public class HomeController : Controller
{
[HttpGet("/")]
[ActionName("Index")]
public IActionResult Index()
{
return View();
}
[HttpGet("/about")]
[ActionName("About")]
public IActionResult About()
{
return View();
}
}
}
在上面的示例中,Index
操作的路由别名为/
,About
操作的路由别名为/about
。
注意:HttpGet
特性用于指定操作的请求方法为GET,您可以根据需要使用其他HTTP动词特性,如HttpPost
、HttpPut
等。
要使用这些别名,您需要在Startup.cs文件的Configure方法中配置路由:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ...
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
在上面的示例中,endpoints.MapControllerRoute
方法配置了一个默认的控制器路由模板,其中{controller=Home}
指定了默认的控制器为HomeController
,{action=Index}
指定了默认的操作为Index
,{id?}
表示可选的id参数。
通过这种方式,您可以在浏览器中访问/
来调用Index
操作,访问/about
来调用About
操作。