C# 访问ViewData时出现nullreferenceexception

C# 访问ViewData时出现nullreferenceexception,c#,asp.net-mvc-2,C#,Asp.net Mvc 2,控制器 public class DashboardController : Controller { // // GET: /Dashboard/ public ActionResult Index() { ViewData["PartnerID"] = GetPartnerID(); return View(); } public

控制器

    public class DashboardController : Controller
    {
        //
        // GET: /Dashboard/

        public ActionResult Index()
        {
            ViewData["PartnerID"] = GetPartnerID();
            return View();
        }

        public ActionResult OutboundTransfers()
        {
            var partnerId = ViewData["PartnerID"].ToString();//NULL EXCEPTION
            InventoryEntities context = new InventoryEntities();
            var result = context.GetOutboundTransfers(partnerId);
            //var result = context.GetOutboundTransfers("3000017155");

            return View(result);
        }

        private static string GetPartnerID()
        {
            return "3000017155";
        }

    }
}
查看(仪表板/索引)


指数

我是MVC2的初学者。我读到部分视图(OutboundTranfers.ascx)应该可以作为副本访问ViewData。那么,为什么我在这里得到一个空引用?

不要在Index()中设置
ViewData[“PartnerID”]
,尝试为控制器创建一个构造函数,并在其中设置如下值:

public DashboardController()
{
    ViewData["PartnerID"] = GetPartnerID();
}

ViewData
可能不为空--
ViewData[“PartnerID”]
为空。(该项不在
视图数据中
)此外,您可以在一个操作中设置
PartnerID
数据,然后在另一个操作中获取它<代码>视图数据不会跨请求/操作保留


(从评论转到回答…

@Kirk:这看起来很像answer@Henk是的,我想你是对的。移动了。这确实告诉了我发生错误的原因。也许以我的技术水平,我缺乏远见,但这并不能帮助我解决保持状态的问题。
public DashboardController()
{
    ViewData["PartnerID"] = GetPartnerID();
}