Я использую хранимую процедуру и детали отчета. Я использую средство просмотра отчетов и набор данных; однако я, кажется, просто получаю сообщение об ошибке в файле aspx:
Ошибка создания элемента управления - ReportViewer1Не удалось создать конструктор
«Microsoft.Reporting.WebForms.ReportViewer,
Microsoft.ReportViewer.WebForms, версия = 11.0.0.0, культура = нейтральная,
PublicKeyToken = 89845dcd8080cc91'
Но когда я выполняю, это показывает только это и никаких подробностей в отчете.
Изображение:
HTML
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Report.aspx.cs" Inherits="Student_Report" %>
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Student Report</title>
</head>
<body>
<form id="form1" runat="server" style="text-align: center">
<h1 style="font-family: 'Comic Sans MS'; text-align: center; font-size: xx-large;">Student Report
</h1>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" runat="server">
</rsweb:ReportViewer>
</form>
</body>
</html>
Код позади
if (!IsPostBack)
{
string strSQLconstring = System.Configuration.ConfigurationManager.ConnectionStrings["constr"].ToString();
ReportViewer1.ProcessingMode = ProcessingMode.Local;
//report path
ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/Report.rdlc");
SqlDataAdapter adp = new SqlDataAdapter("sp_StudentData", strSQLconstring);
adp.SelectCommand.CommandType = CommandType.StoredProcedure;
//object of Dataset DemoDataSet
TWCL_OPERATIONSDataSet ds = new TWCL_OPERATIONSDataSet();
adp.Fill(ds, "sp_StudentData");
//Datasource for report
ReportDataSource datasource = new ReportDataSource("DataSet1", ds.Tables[0]);
ReportViewer1.Width = 2000;
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(datasource);
ReportViewer1.LocalReport.Refresh();
}
Я провел некоторое исследование и не могу понять, что сделал неправильно.