为 IEnumerable<> 列表创建会话并在控制器方法中重用该会话
create session for IEnumerable<> list and reuse that session in controller methods
我得到 IEnumerable<object>
列表到 Create_Brochure
控制器方法如下
所以我想保留这个对象列表并在Create_Brochure_PDF
控制器方法中重用
所以我在 create session 中添加了以下几行
在 Create_Brochure
控制器方法中
IEnumerable<ProductsPropertiesVM> newmodel = model;
Session["TemplateData"] = newmodel;
为了在 Create_Brochure_PDF
控制器方法中使用该会话,我将以下行添加到 Create_Brochure_PDF
控制器方法
IEnumerable<ProductsPropertiesVM> newmodel = Session["TemplateData"] as IEnumerable<ProductsPropertiesVM>;
但我在 Create_Brochure_PDF
控制器方法
中得到这个新模型的 null
我需要知道如何为 IEnumerable<object>
列表定义一个 Session 并在另一个方法中正确地重用它。
这样试试:
IEnumerable<ProductsPropertiesVM> newmodel =(IEnumerable<ProductsPropertiesVM>)Session["TemplateData"];
因为 如果您使用 as
语法进行强制转换无效,则表达式会生成 null。
[Reference#1] [Reference#2]
我觉得你的定义没有问题,
在 PrintIndex()
和 Create_Brochure_PDF()
方法中添加以下行并为 Create_Brochure_PDF()
控制器方法和 PrintIndex()
添加调试点并找出它的空位置
IEnumerable<ProductsPropertiesVM> newmodel = Session["TemplateData"] as IEnumerable<ProductsPropertiesVM>;
我得到 IEnumerable<object>
列表到 Create_Brochure
控制器方法如下
所以我想保留这个对象列表并在Create_Brochure_PDF
控制器方法中重用
所以我在 create session 中添加了以下几行
在 Create_Brochure
控制器方法中
IEnumerable<ProductsPropertiesVM> newmodel = model;
Session["TemplateData"] = newmodel;
为了在 Create_Brochure_PDF
控制器方法中使用该会话,我将以下行添加到 Create_Brochure_PDF
控制器方法
IEnumerable<ProductsPropertiesVM> newmodel = Session["TemplateData"] as IEnumerable<ProductsPropertiesVM>;
但我在 Create_Brochure_PDF
控制器方法
null
我需要知道如何为 IEnumerable<object>
列表定义一个 Session 并在另一个方法中正确地重用它。
这样试试:
IEnumerable<ProductsPropertiesVM> newmodel =(IEnumerable<ProductsPropertiesVM>)Session["TemplateData"];
因为 如果您使用 as
语法进行强制转换无效,则表达式会生成 null。
[Reference#1] [Reference#2]
我觉得你的定义没有问题,
在 PrintIndex()
和 Create_Brochure_PDF()
方法中添加以下行并为 Create_Brochure_PDF()
控制器方法和 PrintIndex()
添加调试点并找出它的空位置
IEnumerable<ProductsPropertiesVM> newmodel = Session["TemplateData"] as IEnumerable<ProductsPropertiesVM>;