在ASP.NET Core中,可以使用路由参数和查询参数来构建动态的URL。下面是一个示例,演示如何将路由参数与查询参数连接起来。
首先,创建一个控制器,例如HomeController
,并在其上添加一个带有路由参数的动作方法。例如,我们可以创建一个名为Details
的动作方法,该方法接收一个id
参数作为路由参数。
public class HomeController : Controller
{
public IActionResult Details(int id)
{
// 根据id从数据库中获取相关数据
// ...
return View();
}
}
接下来,在Startup.cs
文件中配置路由。我们可以将查询参数添加到路由模板中,使用?
符号。
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ...
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
在视图中,可以使用asp-route
标签帮助器来生成动态URL。例如,我们可以在视图中创建一个链接到Details
动作方法的链接,并将查询参数page
设置为1
。
Details
上述代码将生成一个URL类似于/Home/Details/1?page=1
的链接。
在控制器的动作方法中,可以通过添加额外的参数来接收查询参数的值。
public IActionResult Details(int id, int page)
{
// 根据id和page从数据库中获取相关数据
// ...
return View();
}
通过这种方式,我们可以将路由参数和查询参数连接起来,构建灵活的URL。