将模型传递给RouteValueCollection

时间:2016-03-14 14:41:07

标签: c# asp.net-mvc asp.net-mvc-5

我有这个型号:

public class ReportConfiguration
{
    public DateTime ReportStart { get; set; }

    public DateTime ReportEnd { get; set; }
}

是否可以通过RouteValueCollection将两个值传递给控制器​​?

我想在我的控制器中使用此方法签名:

public ActionResult Read_Reports([DataSourceRequest]DataSourceRequest request, ReportConfiguration config);

我试过了:

new { area = "ReportCashRegister", config = MyInctanceOfReportConfiguration }

但它导致了一个查询字符串变量,如config=Namespace.ReportConfiguration而不是ReportConfiguration.ReportStart=valueReportConfiguration.ReportEnd=value

我想避免将每个属性复制到方法签名中,如下所示:(因为我的模型是一个示例,我需要复制更多属性)

public ActionResult Read_Reports([DataSourceRequest]DataSourceRequest request, DateTime reportStart, DateTime reportEnd);

1 个答案:

答案 0 :(得分:1)

动作

public ActionResult Read_Reports([DataSourceRequest]DataSourceRequest request, [FromBody]ReportConfiguration config);

在视图中

new { area = "ReportCashRegister", ReportStart = @DateTime.Now, ReportEnd = @DateTime.Now }

它会将这些值添加到RouteValueDictionary并将它们绑定到操作中的模型/参数。

相关问题