【发布时间】:2020-05-17 18:42:44
【问题描述】:
我是 ASP Net Core 的新手。我的项目将举行董事。每个导演都有一个页面显示他/她的电影列表。
我有两节课。电影:
public class Movie
{
public int MovieId { get; private set; }
public int DirectorId { get; set; }
[Required]
public string Title { get; set; }
public string Year { get; set; }
}
导演:
public class Director
{
public int DirectorId { get; private set; }
[Required]
public string Name { get; set; }
public string Country { get; set; }
public string Bio { get; set; }
public List<Movie> Movies { get; set; }
}
我有一个显示董事名单的索引页面。请看一下:
List of directors (Index.cshtml)
如您所见,我在每个导演旁边都放置了一个“添加电影”按钮。通过单击它,您将导航到一个页面,您可以添加一部电影。但问题是我想将导演 ID 传递给该页面。电影类有一个名为“DirectorId”的外键。每部新电影都必须在其“DirectorId”字段中自动添加导演的 ID。
我已经把DirectorId放在了url中,通过Index.cshtml中的这行代码:
<a asp-page="./Movies/Create" asp-route-DirectorId="@item.DirectorId">Add Movie</a>
所以,我想让你告诉我如何在 URL 中选择 DirectorId(如下图所示)并将其添加到新电影的“DirectorId”字段中。
(请看上图更好地理解)
【问题讨论】:
-
那么有什么问题吗?看来你做得对。当创建页面将调用 get 方法时,您将在 get 方法参数中获得directorid。您必须在创建页面上有 get 方法应该是这样的:public IActionResult OnGet(int id)。
-
@user13422309 是的,我想我应该使用 OnGet。但这是我的第一个项目。我已经尝试过但失败了。我会用你说的“public IActionResult OnGet(int id)”再试一次。谢谢。
标签: asp.net asp.net-core