Сначала проблема, с которой я столкнулся, была легко найдена, затем я добавил Диспетчер сценариев, как было предложено, и это привело к исчезновению ошибки. Теперь он просто не рендерится.
Это очень простой отчет. Когда я сначала не «скрываю» отчет, он будет отображаться, но время ожидания истекло, поэтому я знаю, что оно будет работать. Похоже, я столкнулся с каким-то типом асинхронной проблемы, переходящей с SSRS 2008 и SSRS 2010. Я пробовал различные свойства с помощью панели обновления и асинхронного рендеринга, но это не помогло.
Вот мой основной код
<rsweb:ReportViewer ID="ReportViewer2" runat="server" Font-Names="Verdana" Visible="false"
Font-Size="8pt" Height="564px" Width="1055px" >
<LocalReport ReportPath="Reports/SingleUK.rdlc">
<DataSources>
<rsweb:ReportDataSource DataSourceId="MainSqlDataSource" Name="DataSet1" />
</DataSources>
</LocalReport>
</rsweb:ReportViewer>
<asp:SqlDataSource ID="MainSqlDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AncillaryProductionConnectionString %>"
SelectCommand="packsheets.procUKPacksheets"
SelectCommandType="StoredProcedure"
onselecting="MainSqlDataSource_Selecting">
<SelectParameters>
<asp:FormParameter Type="Int32" DefaultValue=""
FormField="StatusDropDownList" Name="Status" />
<asp:FormParameter Type="Int32" DefaultValue="" FormField="HoldDropDownList"
Name="Hold" />
<asp:FormParameter Type="Int32" DefaultValue="0"
FormField="NoteCategoryDropDownList" Name="Notes" />
<asp:FormParameter Type="Int32" DefaultValue="0"
FormField="ShippingGroupDropDownList" Name="ShMeth" />
<asp:Parameter Direction="ReturnValue" Name="RETURN_VALUE" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
и код позади
protected void Page_Load(object sender, EventArgs e)
{
//if (!Page.IsPostBack)
//{
// this.ReportViewer2.Visible = false;
//}
}
protected void Button1_Click(object sender, EventArgs e)
{
this.ReportViewer2.Visible = true;
this.ReportViewer2.LocalReport.Refresh();
}
protected void MainSqlDataSource_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
if (e.Command.Parameters["@Status"].Value == null)
{
e.Command.Parameters["@Status"].Value = DBNull.Value;
}
if (e.Command.Parameters["@Hold"].Value == null)
{
e.Command.Parameters["@Hold"].Value = DBNull.Value;
}
}
}
Кто-нибудь имеет представление о том, что еще я мог бы попробовать?
Заранее спасибо!