C# 4.0 从aspx页面调用控制器
两天来我一直在寻找解决问题的方法,我真的被卡住了。问题是: 我有一个MVC应用程序(带有依赖注入和works),只有一个webform。此页面需要是webform,因为其中包含ReportViewer,如果我错了,请更正,但MVC视图与ReportViewer等服务器控件不兼容。这是页面的导航流程:C# 4.0 从aspx页面调用控制器,c#-4.0,asp.net-mvc-4,webforms,C# 4.0,Asp.net Mvc 4,Webforms,两天来我一直在寻找解决问题的方法,我真的被卡住了。问题是: 我有一个MVC应用程序(带有依赖注入和works),只有一个webform。此页面需要是webform,因为其中包含ReportViewer,如果我错了,请更正,但MVC视图与ReportViewer等服务器控件不兼容。这是页面的导航流程: 主页导航到ReportList页面 ReportList页面显示用户能够查看并导航到报告页面的报告,并向其传递用户选择的报告的ID 报告页面应根据从报告列表页面传递的ID从数据库中查找报告路径和服务
有人能提供一些指导吗?我有所有可用的代码,但不知道发布什么。我找到了答案,如果对任何人都有帮助,就在这里发布 我添加了另一个名为
ReportManager
的类,aspx代码隐藏调用该类来执行请求。ReportManager
通过以下代码模拟控制器调用:
var routeData = new RouteData();
routeData.Values["controller"] = "Report";
routeData.Values["action"] = "SomeAction";
routeData.Values["SomeRouteValueKey"] = "someroutevalue";
var requestContext = new RequestContext(new HttpContextWrapper(HttpContext.Current), routeData);
IController controller = DependencyResolver.Current.GetService<ReportController>();
controller.Execute(requestContext);
var routeData=new routeData();
路由数据值[“控制器”]=“报告”;
RoutedData.Values[“action”]=“SomeAction”;
routeData.Values[“SomeRouteValueKey”]=“someroutevalue”;
var requestContext=newrequestcontext(newhttpcontextwrapper(HttpContext.Current),routeData);
IController controller=DependencyResolver.Current.GetService();
controller.Execute(requestContext);