如何在ASP.NEt MVC[]中查看Aspx页面错误-必须从ViewPage驱动,ViewPage<;t模型>;,ViewUserControl或ViewUserControl<;TModel>;

如何在ASP.NEt MVC[]中查看Aspx页面错误-必须从ViewPage驱动,ViewPage<;t模型>;,ViewUserControl或ViewUserControl<;TModel>;,asp.net,asp.net-mvc,razor,webforms,reportviewer,Asp.net,Asp.net Mvc,Razor,Webforms,Reportviewer,我创建了一个ASP.NETMVC应用程序,对于报表,我添加了一个webform页面来查看报表查看器。现在我得到了这个错误 请帮帮我,伙计们,我很绝望 “~/Views/Shared/emplpt.aspx”处的视图必须派生自ViewPage、ViewPage、ViewUserControl或ViewUserControl 源错误: Line 5: Line 6: <h2>EmpReport</h2> Line 7: @Html.Partial("Empl

我创建了一个ASP.NETMVC应用程序,对于报表,我添加了一个webform页面来查看报表查看器。现在我得到了这个错误

请帮帮我,伙计们,我很绝望

“~/Views/Shared/emplpt.aspx”处的视图必须派生自ViewPage、ViewPage、ViewUserControl或ViewUserControl

源错误:

Line 5:  
Line 6:  <h2>EmpReport</h2>
Line 7:  @Html.Partial("EmplRpt")
第5行:
第6行:环境管理计划报告
第7行:@Html.Partial(“emplpt”)
堆栈跟踪:

[InvalidOperationException: The view at '~/Views/Shared/EmplRpt.aspx' must derive from ViewPage, ViewPage<TModel>, ViewUserControl, or ViewUserControl<TModel>.]
   System.Web.Mvc.WebFormView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +180
   System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) +107
   System.Web.Mvc.HtmlHelper.RenderPartialInternal(String partialViewName, ViewDataDictionary viewData, Object model, TextWriter writer, ViewEngineCollection viewEngineCollection) +277
   System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData) +91
   System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName) +32
   ASP._Page_Views_Reports_EmpReport_cshtml.Execute() in C:\1.3\1.2\1.1\BPMS\BPMS\Views\Reports\EmpReport.cshtml:7
   System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +197
   System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +105
   System.Web.WebPages.StartPage.RunPage() +17
   System.Web.WebPages.StartPage.ExecutePageHierarchy() +64
   System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +78
   System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +235
   System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) +107
   System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +291
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +13
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +56
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +420
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +52
   System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +173
   System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +100
   System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) +10
   System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27
   System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +13
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +29
   System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
   System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +36
   System.Web.Mvc.Controller.<BeginExecute>b__15(IAsyncResult asyncResult, Controller controller) +12
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +22
   System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
   System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +26
   System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10
   System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +21
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +29
   System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
   System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +28
   System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9847873
   System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +50
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +163
[无效操作异常:“~/Views/Shared/emplpt.aspx”处的视图必须派生自ViewPage、ViewPage、ViewUserControl或ViewUserControl。]
System.Web.Mvc.WebFormView.RenderView(ViewContext、TextWriter、Object实例)+180
System.Web.Mvc.buildmanager compiledview.Render(ViewContext、TextWriter)+107
System.Web.Mvc.HtmlHelper.RenderPartialInternal(字符串partialViewName、ViewDataDictionary viewData、对象模型、TextWriter编写器、ViewEngineCollection ViewEngineCollection)+277
System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper HtmlHelper,字符串partialViewName,对象模型,ViewDataDictionary viewData)+91
System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper-HtmlHelper,字符串partialViewName)+32
C:\1.3\1.2\1.1\BPMS\BPMS\Views\Reports\EmpReport.cshtml:7中的ASP.\u Page\u Views\u Reports\u EmpReport\u cshtml.Execute()
System.Web.WebPages.WebPageBase.ExecutePageHierarchy()+197
System.Web.Mvc.WebViewPage.ExecutePageHierarchy()+105
System.Web.WebPages.StartPage.RunPage()+17
System.Web.WebPages.StartPage.ExecutePageHierarchy()+64
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext-pageContext,TextWriter-writer,WebPageRenderingBase-startPage)+78
System.Web.Mvc.RazorView.RenderView(ViewContext、TextWriter、Object实例)+235
System.Web.Mvc.buildmanager compiledview.Render(ViewContext、TextWriter)+107
System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext上下文)+291
System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext ControllerContext,ActionResult ActionResult)+13
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1过滤器、Int32过滤器索引、ResultExecutingContext预文本、ControllerContext ControllerContext、ActionResult ActionResult)+56
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1过滤器、Int32过滤器索引、ResultExecutingContext预文本、ControllerContext ControllerContext、ActionResult ActionResult)+420
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext ControllerContext,IList`1过滤器,ActionResult ActionResult)+52
System.Web.Mvc.Async.c__显示类2B.b__1c()+173
System.Web.Mvc.Async.c__显示Class21.b__1e(IAsyncResult asyncResult)+100
System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult)+10
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End()+49
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)+27
System.Web.Mvc.Controller.b_u1d(IAsyncResult asyncResult,ExecuteCorerate innerState)+13
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)+29
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End()+49
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)+36
System.Web.Mvc.Controller.b_u15(IAsyncResult asyncResult,Controller-Controller)+12
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)+22
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End()+49
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)+26
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult)+10
System.Web.Mvc.MvcHandler.b_uu5(IAsyncResult asyncResult,ProcessRequestState innerState)+21
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)+29
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End()+49
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)+28
System.Web.Mvc.MvcHandler.System.Web.IHTTPassynchandler.EndProcessRequest(IAsyncResult结果)+9
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+9847873
System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep步骤)+50
System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值&同步完成)+163
版本信息:Microsoft.NET Framework版本:4.0.30319;ASP.NET版本:4.8.4210.0

这是EmplRpt.aspx的代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="EmplRpt.aspx.cs" Inherits="BPMS.WebFrm.ProcessRpt" %>
 
<%@ Register assembly="Microsoft.ReportViewer.WebForms" namespace="Microsoft.Reporting.WebForms" tagprefix="rsweb" %>
 
<!DOCTYPE html>
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                List<BPMS.Models.Employee> employees = null;
                using (BPMS.Models.DBModel dc = new BPMS.Models.DBModel())
                {
                    employees = dc.Employees.OrderBy(a => a.Emp_id).ToList();
                    ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/Reports/empRpt.rdlc");
                    ReportViewer1.LocalReport.DataSources.Clear();
                    ReportDataSource rdc = new ReportDataSource("MyDataSet", employees);
                    ReportViewer1.LocalReport.DataSources.Add(rdc);
                    ReportViewer1.LocalReport.Refresh();
 
                }
            }
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
        <rsweb:ReportViewer ID="ReportViewer1" runat="server" AsyncRendering="false" SizeToReportContent="true">
        </rsweb:ReportViewer>
            
        </div>
    </form>
</body>
</html>

受保护的无效页面加载(对象发送方、事件参数e)
{
如果(!IsPostBack)
{
列出员工=空;
使用(BPMS.Models.DBModel dc=new BPMS.Models.DBModel())
{
employees=dc.employees.OrderBy(a=>a.Emp_id).ToList();
ReportViewer1.LocalReport.ReportPath=Server.MapPath(“~/Reports/empRpt.rdlc”);
ReportViewer1.LocalReport.DataSources.Clear();
ReportDataSource rdc=新的ReportDataSource(“MyDataSet”,雇员);
ReportViewer1.LocalReport.DataSources.Add(rdc);
ReportViewer1.LocalReport.Refresh();
}
}
}