1

我被卡住了,需要一些帮助,我正在使用实体框架并有以下浏览 ActionResult 来创建节目列表:

  public ActionResult Browse(string genre)
    {
        var genreModel = db.Genres.Include("Shows")
        .Single(g => g.Name == genre);

        return View(genreModel);
    }

这是节目列表:

@foreach (var show in Model.Shows)
{
    <li>
    <a href="@Url.Action("Details", new { id = show.ShowId })"> 
    <img alt="@show.Title" src="@show.ShowArtUrl" /> <span>@show.Title</span> </a>   
    </li>
    }

我需要创建 Details ActionResult ,当用户点击上面显示的带有 ShowId 的链接时将响应它并返回节目的详细信息,有人吗?

4

1 回答 1

0

好的,这就是我如何完成您正在尝试做的事情(或者至少是我认为您正在尝试做的事情)。

这是我的观点:

@model IEnumerable<DarkRobot.Models.Post>
<p>
@Html.ActionLink("Create New", "Create")
</p>
        <aside class="blogAside">
            <h3>history of words</h3>
            <ul class="linkList">
            @foreach (var item in Model.Reverse())
            {
                string name = item.Title;
                <li><a>@Html.ActionLink(name, "Details", new { id = item.Id }, null)</a></li>
            }
            </ul>
        </aside>

在这里,我有 @Html.Actionlink,它正在获取我拥有的每篇博客文章的 id。因此,当创建链接时,它会将那个值传递给我的另一个视图“详细信息”

控制器处理所有这些东西,所以这里是:

指数:

    public ViewResult Index()
    {
        var posts = db.Posts.Include(p => p.Blog).Include(p => p.Comments);
        return View(posts.ToList());
    }

现在详细信息控制器:

    public ViewResult Details(int id)
    {
        Post post = db.Posts.Find(id);
        return View(post);
    }

在我的 Details 视图的 ViewResult 中,我确保获取传入的 id 并将其分配给我正在提取的帖子。

让我知道这是否有帮助!

于 2012-04-11T20:17:16.400 回答