javascript - 如何在 @Html.Raw(@Url.Action()) 中传递 Javascript List 对象?

标签 javascript html asp.net-mvc asp.net-mvc-4 razor

如何在 @Html.Raw(@Url.Action()) 中传递 Javascript 列表对象?

我的 Controller 中有一个模型,它具有以下属性作为 js List 对象。

我的 Controller 中的方法需要这个模型。

   public ActionResult ExportDataExtReport( DataExtractionReportModel DataExtReportModel)  

调用到达 Controller 时对象为空

    ReportModel.push({
        ReportId : ReportSelID,
        ReportName : "DataExtraction",
        StartDate : DEYearSelID,
        CategoryId : DataExtCategoryId,
        SurveyId : QuestionnaireSelID,
        SurveyName: QuestionaireName,
        OperationalUnits : DataExtOpUnit
    });

   var link = '@Html.Raw(@Url.Action("ExportDataExtReport", "Location", new { DataExtReportModel = -1}))';
    link = link.replace("-1", ,ReportModel[0]);
    window.location.href = link;

最佳答案

ASP.NET MVC 对于理解 JSON 数据对象非常强大。

我不知道这是否是最佳实践,但我会告诉你我如何管理它们:

当我在客户端代码上有一个 JSON 数据对象时,在提交到新 Controller 之前,我会将其字符串化存储在隐藏输入中。

然后我提交表单(该操作是 Controller 方法调用)。现在,我的 Controller 接收一个表单对象,但它们的参数之一是字符串化的 JSON 对象。

我通常有一个业务模型类,其数据结构与到达 Controller 的 JSON 数据包的数据结构兼容。使用 JSON 序列化程序并将结果转换为该模型类类型可以使您的包日期加载到业务模型类的实例中。

希望这有帮助

关于javascript - 如何在 @Html.Raw(@Url.Action()) 中传递 Javascript List 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44544443/

相关文章:

html - LinkedIn 网站分享总是显示 1 分钟阅读

asp.net-mvc - Orchard CMS : Sign Out (Log Off) Confirmation Page

sql-server - 未插入 SQL Server 数据库中的值

javascript - 在Vue和Ajax中获取请求的http状态码

javascript - 将 JS 代码从 Grails View 分离到外部 JS 文件时出现问题

javascript - 在nodejs中使用webdriver-selenium选择按钮元素

javascript - 对每个元素运行函数一次

c# - 在单元测试中设置 HttpContext.Current.Application 键

javascript - JS链的 promise 和结果总是得到解决

javascript - MongoDB 有问题的 JSON prop/field