【问题标题】:Why can't get second parameter value from url.action为什么不能从 url.action 获取第二个参数值
【发布时间】:2021-02-04 04:32:42
【问题描述】:

发送参数的HTML脚本代码在控制器中查询并发送回以创建谷歌图表。

$(document).ready(function () {
        $.ajax({
            type: "POST",
            dataType: "json",
            contentType: "application/json",
            url: '@Url.Action("FromToResults", "Chart", new { From = @ViewBag.SelectFrom, To = @ViewBag.SelectTo })',
            success: function (result) {
                google.charts.load('current', {
                    'packages': ['corechart']
                });
                google.charts.setOnLoadCallback(function () {
                    drawChart(result);
                });
            }
        });
    });

我在控制器(下)中设置了 2 个参数(从,到)发送到 FromToResults 类

public ActionResult FromToResults(DateTime From, DateTime To)
    {
        return Json(FromToResult(From , To), JsonRequestBehavior.AllowGet);
    }

调试后我只能得到 From 值,但不能得到 To 值。

【问题讨论】:

  • 如果您实际上只是从查询中提取参数,为什么还要使用 contentType 作为“application/json”?还有你为什么使用帖子而不是“GET”
  • 我在 JSON 中不确定,但在这一点上我不知道为什么我只得到 1 个参数以及如何解决。
  • url.action 的语法错误,否则此脚本将为发送 2 个参数添加其他选项。

标签: c# html model-view-controller


【解决方案1】:

宁可使用 GET 并从查询字符串中提取 From 和 To

$(document).ready(function () {
        $.ajax({
            type: "GET",
            url: '@Url.Action("FromToResults", "Chart", new { From = @ViewBag.SelectFrom, To = @ViewBag.SelectTo })',
            success: function (result) {
                google.charts.load('current', {
                    'packages': ['corechart']
                });
                google.charts.setOnLoadCallback(function () {
                    drawChart(result);
                });
            }
        });
    });

【讨论】:

    猜你喜欢
    • 2013-04-13
    • 2011-11-13
    • 2021-04-07
    • 2014-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-18
    • 2015-08-02
    相关资源
    最近更新 更多