"尚未指定报告'xxx'的报告定义."

Ema*_*een 3 asp.net webforms visual-studio reporting-services

我正在使用ASP.Net网络表单首次尝试SSRS.

我创建了一个本地RDLC报告,并在"默认"Web表单中使用了ReportViewer.在智能标签下,我选择了"选择报告"并选择了RDLC报告.

当我按f5运行报告时,即使我从智能标记中选择了报告,也会显示以下错误.

"The report definition for report 'xxx' has not been specified."
Run Code Online (Sandbox Code Playgroud)

请让我知道为什么这不能按预期工作.

谢谢.

报告编码:

<asp:Content runat="server" ID="FeaturedContent" ContentPlaceHolderID="FeaturedContent">
<section class="featured">
    <div class="content-wrapper">
        <hgroup class="title">
            <h1><%: Title %>.</h1>
            <h2>Modify this template to jump-start your ASP.NET application.</h2>
        </hgroup>
        <p>
            To learn more about ASP.NET, visit <a href="http://asp.net" title="ASP.NET Website">http://asp.net</a>.
            The page features <mark>videos, tutorials, and samples</mark> to help you get the most from ASP.NET.
            If you have any questions about ASP.NET visit <a href="http://forums.asp.net/18.aspx" title="ASP.NET Forum">our forums</a>.
        </p>
    </div>
</section>
</asp:Content>

<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt" WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt" Width="739px">
    <LocalReport ReportEmbeddedResource="WebApplicationFirstReports.Web Products.rdlc">
        <DataSources>
            <rsweb:ReportDataSource DataSourceId="ObjectDataSource1" Name="DataSet1" />
        </DataSources>
    </LocalReport>
</rsweb:ReportViewer>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetData" TypeName="DataSetWebTableAdapters.DataTable1TableAdapter"></asp:ObjectDataSource>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

Hum*_*mpy 7

好的,所以看起来您在本地报告中遗漏了ReportPath.以下是我工作项目的代码示例.

<body class="center">
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
            <asp:Label ID="lblCheckDate" runat="server" Visible="False"></asp:Label>
            <rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt" WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt" Height="800px" Width="620px" CssClass="center" BackColor="White" ShowBackButton="False" ShowPageNavigationControls="False">
                <LocalReport ReportPath="Paystub.rdlc" ReportEmbeddedResource="PayrollApplication.Paystub.rdlc">
                    <DataSources>
                        <rsweb:ReportDataSource DataSourceId="SqlDataSource1" Name="DataSet1" />
                    </DataSources>
                </LocalReport>
            </rsweb:ReportViewer>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:pay %>"
                SelectCommand="SELECT * FROM [ViewPaychecks] WHERE ([CHKDATE] = @CHKDATE)">
                <SelectParameters>
                    <asp:ControlParameter ControlID="lblCheckDate" Name="CHKDATE" PropertyName="Text" Type="String" />
                </SelectParameters>
            </asp:SqlDataSource>
        </div>
    </form>
</body>
Run Code Online (Sandbox Code Playgroud)

如果这有帮助,请告诉我!我使用了SqlDataSource,但这也适用于ObjectDataSource.


sto*_*tom 5

当您在实时站点中部署并且报告的.rdlc文件尚未在站点中发布时会发生这种情况,因此这里是的解决方案

  1. 右键单击报告的“.rdlc”文件,选择属性,然后将rdlc的属性Build Action设置为Content

截屏:

在此处输入图片说明

参考:

希望有帮助。