【发布时间】:2025-12-02 22:05:02
【问题描述】:
我对 .net mvs razor 页面的了解非常有限。所以希望我的问题是有道理的。
-
我有一个电影数据库,其中包含:
一个。媒体表(dvd、vhs 等)
b.流派表
c。电影表
我希望能够单击媒体类型 - 即 DVD - 并让它生成我在 DVD 上可用的类型列表。我为此创建了一个存储过程和一个成功完成此操作的剃须刀页面。
我还有一个显示特定类型电影的存储过程。还有一个剃须刀页面,可以生成一个流派中的所有电影。
我要解决的问题是将这两者联系起来。如何进入这个流程:点击 dvd => 列出我所有的 DVD 类型 => 点击“Thriller”类型并显示所有属于 Thrillers 的 DVD。
在我的“媒体”剃须刀页面中,我列出了媒体类型并显示了流派模型,当我执行“MediaByGenre”列表时,它会生成流派。代码如下:
@page
@model MyMovies.Pages.GenreDetails.DetailsModel
@{
ViewData["Title"] = "Details";
}
<h4>Genres</h4>
<hr />
<div>
<table>
<tr>
<th>Genre</th>
</tr>
@foreach (var item in Model.Genres)
{
<tr>
<td class="col-sm-10">
@Html.DisplayFor(Model => item.GenreName)
</td>
</tr>
}
</table>
</div>
<div>
<a asp-page="./Index">Back to List</a>
</div>
在我的“流派”剃须刀页面中,我显示了执行生成“GetMovieByGenre”的过程的电影模型。下面是剃刀代码:
@page
@model MyMovies.Pages.MovieDetails.DetailsModel
@{
ViewData["Title"] = "Details";
}
<table col-width=500>
<tr>
<th class="col-sm-2">Movie Title</th>
<th class="col-sm-2">Movie Year</th>
</tr>
@foreach (var item in Model.Movies)
{
<tr>
<td class="col-sm-10">
@Html.DisplayFor(Model => item.MovieTitle)
</td>
<td class="col-sm-10">
@Html.DisplayFor(Model => item.MovieYear)
</td>
</tr>
}
</table>
<div>
<a asp-page="./Index">Back to List</a>
</div>
我在这里尝试过使用 a-tag:
<td class="col-sm-10">
@Html.DisplayFor(Model => item.GenreName)
</td>
链接到为每种类型生成的电影模型,但这不起作用,因为我只能使用一个模型(类型模型)。这是否需要使用局部视图?或者我可以使用一些 C-Linq 在我的 .cshtml.cs 文件中解决这个问题吗?我不想花太多精力走错路。
【问题讨论】:
标签: asp.net-mvc tsql stored-procedures razor-pages