C# 如何使用dataset作为数据源保留xtraReport的参数

C# 如何使用dataset作为数据源保留xtraReport的参数,c#,devexpress,asp.net-mvc-5,xtrareport,C#,Devexpress,Asp.net Mvc 5,Xtrareport,我有一个由强类型数据集提供的devExpress xtraReport。只要我将两个参数硬编码到操作中,它就会将数据加载到数据集中并显示在报告中。一旦我试图让它将主页上的值向下传递到部分,它就失败了。我的第一次尝试是通过ViewBag传递参数,但不起作用,因此切换到模型,仍然不能正常工作 主页面控制器 public ActionResult SubsequentVisitReport(int noteType = 1, int noteId = 9) { ViewBag.noteType =

我有一个由强类型数据集提供的devExpress xtraReport。只要我将两个参数硬编码到操作中,它就会将数据加载到数据集中并显示在报告中。一旦我试图让它将主页上的值向下传递到部分,它就失败了。我的第一次尝试是通过ViewBag传递参数,但不起作用,因此切换到模型,仍然不能正常工作

主页面控制器

public ActionResult SubsequentVisitReport(int noteType = 1, int noteId = 9)
{
  ViewBag.noteType = noteType;
  ViewBag.noteId = noteId;

  ReportParameters reportParamters = new ReportParameters();
  reportParamters.noteType = noteType;
  reportParamters.noteId = noteId;

  return View(reportParamters);
}
主页cshtml-添加到EditorFor中,以确保模型在那里(确实如此)。已尝试调用分部,包括和不包括“Model”

@model ReportParameters
@Html.EditorFor(m => m.noteId)
@Html.EditorFor(m => m.noteType)

@Html.HiddenFor(m => m.id)
@Html.HiddenFor(m => m.noteType)
@Html.HiddenFor(m => m.noteId)

@Html.Partial("_SubsequentVisitReport", Model)
控制器的部分-这没有收到来自模型的数据,我不明白为什么。模型不为空,所有值均为0(零)

局部视图

@model ReportParameters

@Html.HiddenFor(m => m.id)
@Html.HiddenFor(m => m.noteType)
@Html.HiddenFor(m => m.noteId)

@Html.DevExpress().DocumentViewer(settings =>
    {
        // The following settings are required for a Report Viewer.
        settings.Name = "reportViewer1";
        settings.Report = (rptSubsequentVisit)ViewData["Report"];
        // Callback and export route values specify corresponding controllers and their actions.
        // These settings are required as well.
        settings.CallbackRouteValues = new { Controller = "Reports", Action = "_SubsequentVisitReport"};
        settings.ExportRouteValues = new { Controller = "Reports", Action = "_SubsequentVisitReportExport" };
    }).GetHtml()
数据需要通过部分保存以加载便笺供查看,也需要用于导出功能

我做错了什么,或者有没有其他更好的方法

谢谢,
Dave K.

设置.CallbackRouteValues对象告诉DocumentViewer在哪里请求实际报告,它可以获取参数。不幸的是,它将是一个单独的请求,所以您不能发送您的模型,只能发送可以作为字符串传递的简单值。在中,他们对报告使用自定义模型,但必须根据每个操作中的原始值重新创建模型

如果将部分操作转换为整数参数:

public ActionResult _SubsequentVisitReport(int noteType, int noteId)
您应该能够在CallbackRouteValue的末尾添加这些参数:

settings.CallbackRouteValues = new { Controller = "Reports", 
                                     Action = "_SubsequentVisitReport",
                                     noteType = model.noteType,
                                     noteId = model.noteId};

你最终解决了这个问题吗?我也在做同样的事情。嘿,是的,我确实弄明白了,和Dev express来回几次。我忘了带在这里了。我会把你的答案记下来。
settings.CallbackRouteValues = new { Controller = "Reports", 
                                     Action = "_SubsequentVisitReport",
                                     noteType = model.noteType,
                                     noteId = model.noteId};