ASP.Net - 将变量传递给控制器​​以进行部分视图

时间:2016-05-10 15:15:54

标签: jquery asp.net asp.net-mvc

我的目标是将我在主视图中跟踪的变量传递给控制器​​,然后用于返回适当的局部视图。

我试图使用HTTP Post属性从JQuery传递到控制器但是无法找到接收资源。问题是,我之前已经配置了这个配置模型,控制器内部的值没有问题。我无法确定我的bug会在哪里。

模型

[HttpPost]
     public PartialViewResult MapLayers(MapBuilder2_0.Models.MapLayers model) {


        return PartialView("_MapLayers", model);
    }

控制器

            <input type="hidden" id="MapLayer01" value= true />
        <input type="hidden" id="MapLayer02" value= true />
        <input type="hidden" id="MapLayer03" value= true />
        <input type="hidden" id="MapLayer04" value= true />
        <input type="hidden" id="MapLayer05" value= true />
        <input type="hidden" id="MapLayer06" value= true />

        $("#map-layers").on('click', function () {
        $.post('MapLayers', {
            MapLayer01: $('#MapLayer01').val(),
            MapLayer02: $('#MapLayer02').val(),
            MapLayer03: $('#MapLayer03').val(),
            MapLayer04: $('#MapLayer04').val(),
            MapLayer05: $('#MapLayer05').val(),
            MapLayer06: $('#MapLayer06').val()
        }).done(function (data) {
            $('#page-content-container').html(data);

        });
    });

查看 - 相关部分

        public PartialViewResult MapLayers () {
        var layers = new MapBuilder2_0.Models.MapLayers() {
            MapLayer01 = true,
            MapLayer02 = true,
            MapLayer03 = true,
            MapLayer04 = true,
            MapLayer05 = true,
            MapLayer06 = true
        };

        return PartialView("_MapLayers",layers);
    }

$("#map-layers").on('click', function (e) {
        e.preventDefault();

        $.get(this.href, function (html) {
            $('#page-content-container').html(html);
        });
    });

工作控制器和Jquery

{{1}}

1 个答案:

答案 0 :(得分:0)

我认为这是因为您的控制器方法被输入为 int[,] sample = ... ... // Are there any value less than 100 in vicinity of 5, 7 item? bool found = sample .Vicinity(5, 7) .Any(item => item < 100); 。尝试将其更改为PartialViewResult,如下所示:

ActionResult