我正在创建一个控制器名称 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行**
我无法理解如何访问其他控制器方法,即使我不知道这是正确的过程。
答案 0 :(得分:6)
这是因为您的控制器需要初始化自己。在此过程中,它设置Request属性(您正在使用)和其他属性。
看看这个答案,它与你的答案相似(也是解决方案):Session is null when calling method from one controller to another...MVC
此致