MVC3控制器操作结果'记住'传入的ID

时间:2012-05-07 20:12:46

标签: c# asp.net-mvc-3

我的Controller中有两个操作结果。概述和关于。

public ActionResult Overview(int id)
{
    return View(new OverviewModel() { Project = db.People.Find(id) });
}

public ActionResult About(int id)
{
    return View(new AboutModel() { Project = db.People.Find(id) });
}

我想记住传递给Overview的id,并在About上使用它作为默认值。我不知道如何在用户将标签从概览切换到关于时保持此ID不变。

2 个答案:

答案 0 :(得分:5)

您可以尝试在RTData中存储id。也许是这样的(未经测试)

public ActionResult Overview(int id)
{
    TempData["YourId"] = id;
    return View(new OverviewModel() { Project = db.People.Find(id) });
}

public ActionResult About(int? id)
{
    id = id ?? int.Parse(TempData["YourId"].ToString());
    return View(new AboutModel() { Project = db.People.Find(id) });
}

答案 1 :(得分:0)

如果此数据不敏感,您还可以使用隐藏的html属性。它为我们创造了奇迹,它为我们节省了很多处理能力。