将Model属性从Jquery Ajax调用传递给Controller方法

时间:2014-12-09 22:02:08

标签: javascript c# jquery ajax

问题背景:

我只是试图从视图中传递一些属性(已将模型从其关联的控制器传递给它)到控制器上的另一个方法。

代码:

Ajax电话:

$("#myLink").click(function (e) {

        $.ajax({
            url: '@Url.Action("AddToCart")',
            type: 'POST',
            data: {

                "qty": $('#productQty').val(),
                "name": $('#productName').text(),
                "price": $('#productPrice').text(),
                "brand": $('#productBrand').text(),

                //Image property is NOT being sent.
                "image" : $(@Model.Image).val()
            }
        });
    });

我需要将传递给视图的模型的属性设置为Ajax调用的"image"数据。

这是被调用的控制器上的方法:

public void AddToCart(string qty, string name, string price, string brand, string image)
{
   //Logic.

}

问题:

目前,我似乎找不到通过“图像”的方法。属性。我已经尝试将其设置为' var'但它仍然作为null传递。

如果未设置为HTML元素,如何从传递的模型中发送此属性?

1 个答案:

答案 0 :(得分:0)

您正在使用@ Model.Image属性作为jQuery选择器。如果你真的没有与选择器匹配的表单元素,那就没有意义了(如果@ Model.Image的值是“#input1”,<input id="input1" ...>会匹配)