在ASP.NET Core中使用路由参数进行表单提交操作,可以通过以下步骤实现:
步骤1:在Controller中定义带有路由参数的Action方法
[HttpGet]
[Route("movies/{id}/edit")]
public IActionResult Edit(int id)
{
// 根据ID获取电影数据
Movie movie = GetMovieById(id);
// 将电影数据传递给视图
return View(movie);
}
[HttpPost]
[Route("movies/{id}/edit")]
public IActionResult Edit(int id, Movie movie)
{
// 根据ID获取电影数据
Movie existingMovie = GetMovieById(id);
// 更新电影数据
existingMovie.Title = movie.Title;
existingMovie.Director = movie.Director;
existingMovie.ReleaseYear = movie.ReleaseYear;
// 保存更新后的电影数据
SaveMovie(existingMovie);
// 重定向到电影详情页面
return RedirectToAction("Details", new { id = existingMovie.Id });
}
步骤2:创建Edit.cshtml视图文件,用于显示编辑电影表单
@model Movie
Edit Movie
在这个示例中,我们创建了一个带有路由参数的GET和POST Action方法,用于显示和处理编辑电影的表单。在GET方法中,我们通过ID获取电影数据,并将其传递给视图。在POST方法中,我们通过ID获取现有的电影数据,并更新其属性。然后,我们保存更新后的电影数据,并重定向到电影详情页面。
在Edit.cshtml视图中,我们使用asp-action
和asp-route-id
参数来生成表单的提交URL,并将路由参数ID传递给Action方法。通过使用asp-for
标记,我们生成了与电影模型属性绑定的输入字段。
这样,我们就可以在ASP.NET Core中使用路由参数进行表单提交操作了。