【问题标题】:'Tempdata' does not exist in current context当前上下文中不存在“临时数据”
【发布时间】:2016-02-03 06:26:46
【问题描述】:

我正在尝试将一些值从一个控制器传递到另一个类似的东西

TempData["data"]="data";

但它说 Tempdata 在当前上下文中不存在。所以我决定使用 ViewBag,令人惊讶的是,我得到了相同的 ViewBag 错误消息。

我读过它,它与 BaseController 有关。所以我真的必须从 basecontroller 派生才能使其工作?

【问题讨论】:

  • 更多上下文代码会有所帮助.....
  • 你的控制器必须继承System.Web.Mvc.Controller
  • 你的控制器必须是从Controller而不是ControllerBase派生的!!!

标签: c# asp.net-mvc viewbag tempdata


【解决方案1】:

您的控制器必须派生自BaseController
您可以使用TempData[""] 将消息从一个控制器传递到另一个控制器。这是一个可以帮助您的代码:

namespace namespaceName.Controllers
{
    public class ControllerName : Controller
    {
        public ActionResult firstController()
        {
            var data = TempData["data"].ToString();
        }
        public ActionResult secondController()
        {
            TempData["data"] = "data";
            return RedirectToAction("firstController");
        }
    }
}

TempData["data"] = "data" 将从 secondController 传递给 firstController
希望这会有所帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-21
    • 2014-02-08
    • 2023-03-30
    • 2013-10-04
    • 1970-01-01
    • 1970-01-01
    • 2019-08-05
    相关资源
    最近更新 更多