试图从结果集填充ViewModel并将其传递给View,但由于其作用域而无法完成

本文关键字:于其 View 作用域 结果 填充 ViewModel | 更新日期: 2023-09-27 18:08:03

我正在从控制器调用具有实体框架的存储过程,然后接收返回的结果集。然后,我试图使用结果集来填充我的ViewModel,并通过控制器动作将其传递给视图。问题是我必须从if语句内部调用存储过程,因此由于作用域,我无法访问它以通过控制器动作传递它。

下面是一个示例(在控制器动作中):

if (dropdown1 == "Name")
                {
                    var Results = entities.Report(SomeInputParameter).ToList();
                    var viewModel = new ReportingViewModel { Reports = Results };
                }

Report是我的存储过程,Reports是我试图填充的ViewModel对象。

由于它在If语句中,所以我不能像这样访问它并将其传递给视图:

return View("ReportGenerator", viewModel);

如果您能提供帮助,我将不胜感激。

谢谢!

试图从结果集填充ViewModel并将其传递给View,但由于其作用域而无法完成

就不能在if之外声明吗?

ReportingViewModel viewModel = null;
if (dropdown1 == "Name")
{
    var Results = entities.Report(SomeInputParameter).ToList();
    viewModel = new ReportingViewModel { Reports = Results };
}
return View("ReportGenerator", viewModel);

一定要适当地初始化

相关文章: