如您所知,在SQL Server报告服务(SSRS)中,我们可以使用URL(URL Access Syntax)传递参数,我们可以通过包含dsu:datasourcename = value&来提供URL中的数据源凭据。 dsp:datasourcename = value(Setting Data Source Credentials in a URL)。
现在,我想在我的网络应用程序中使用动态数据源credencial打开一个报告
我正在使用MVCReportViewer,当我将MvcReportViewerFluent:ReportServerUrl
参数设置为http://ServerName/reportserver/?dsu:myDS=user&dsp:myDS=password
时,我在iFrame中获得空白页。
当我删除"/?dsu:myDS=user&dsp:myDS=password"
时,报告正常工作,并在报告中询问用户名和密码
我哪里错了?
编辑:已添加代码
控制器代码:
public ActionResult Index()
{
var model = new {
UserName = "user",
Password = "pass",
ReportPath = "/myReportPath",
ServerUrl = "http://ServerAddress/reportserver/?dsu:ddst=pdm&dsp:ddst=pdm",
Parameters = null,
FormMethod = FormMethod.Post,
HtmlAttributes = new { Height = 900, Width = 900, style = "border: none" }
}
return View(model);
}
查看代码:
@Html.MvcReportViewerFluent(Model.ReportPath)
.ReportServerUrl(Model.ServerUrl)
.Username(Model.UserName)
.Password(Model.Password)
.Method(Model.FormMethod)
.ReportParameters(Model.FormMethod)
.Attributes(Model.HtmlAttributes).