一个控制器值到另一个控制器不进入asp.net mvc?

时间:2016-06-04 15:17:43

标签: c# asp.net asp.net-mvc asp.net-mvc-4 cookies

我正在创建一个控制器名称 ProductController ,但有一个方法

 public void DeliveryLocationCookies()
    {


            HttpCookie deliveryloccookies1 = Request.Cookies["deliveryloccookies"];
            if (deliveryloccookies1 != null)
            {
                ViewBag.deliveryloccookies = deliveryloccookies1["deliveryloccookies"];

            }



    }

现在我创建另一个控制器名称 HomeController 在那里我创建了一个 ProuctController

的对象
ProductController pc = new ProductController();

创建一个动作结果

public ActionResult view()
    {
        pc.DeliveryLocationCookies();

        return view();
    }

但从那里产生异常

** System.NullReferenceException:未将对象引用设置为对象的实例。在e:\ WINUSB \ TestSite \ TestSite \ Controllers \ ProductController.cs中的TestSite.Controllers.ProductController.DeliveryLocationCookies():第353行**

我无法理解如何访问其他控制器方法,即使我不知道这是正确的过程。

1 个答案:

答案 0 :(得分:6)

这是因为您的控制器需要初始化自己。在此过程中,它设置Request属性(您正在使用)和其他属性。

看看这个答案,它与你的答案相似(也是解决方案):Session is null when calling method from one controller to another...MVC

此致