尝试从结果集中填充 ViewModel 并传递给 View,但由于其范围不能
Trying to fill ViewModel from result set and pass to View, but cannot due to its scope
我正在从我的控制器中使用 entity framework 调用一个存储过程,然后接收返回的结果集。然后我尝试使用结果集来填充我的 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);
如能提供有关访问此内容的最佳方式的任何帮助,我们将不胜感激。
谢谢!
你不能在 if
之外声明它吗?
ReportingViewModel viewModel = null;
if (dropdown1 == "Name")
{
var Results = entities.Report(SomeInputParameter).ToList();
viewModel = new ReportingViewModel { Reports = Results };
}
return View("ReportGenerator", viewModel);
只要确保适当地初始化它
我正在从我的控制器中使用 entity framework 调用一个存储过程,然后接收返回的结果集。然后我尝试使用结果集来填充我的 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);
如能提供有关访问此内容的最佳方式的任何帮助,我们将不胜感激。
谢谢!
你不能在 if
之外声明它吗?
ReportingViewModel viewModel = null;
if (dropdown1 == "Name")
{
var Results = entities.Report(SomeInputParameter).ToList();
viewModel = new ReportingViewModel { Reports = Results };
}
return View("ReportGenerator", viewModel);
只要确保适当地初始化它