我有这个型号:
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=value
和ReportConfiguration.ReportEnd=value
我想避免将每个属性复制到方法签名中,如下所示:(因为我的模型是一个示例,我需要复制更多属性)
public ActionResult Read_Reports([DataSourceRequest]DataSourceRequest request, DateTime reportStart, DateTime reportEnd);
答案 0 :(得分:1)
动作
public ActionResult Read_Reports([DataSourceRequest]DataSourceRequest request, [FromBody]ReportConfiguration config);
在视图中
new { area = "ReportCashRegister", ReportStart = @DateTime.Now, ReportEnd = @DateTime.Now }
它会将这些值添加到RouteValueDictionary
并将它们绑定到操作中的模型/参数。