如何将javascript对象传递给webmethod

时间:2014-12-09 16:50:25

标签: javascript c# parameter-passing jsonobject

我想简单的文件下载方法。

我的课程是:

public class TestClass
{
    public string StringParam { get; set; }
    public int IntParam{ get; set; }
}

我的网络方法:

public void MyExport(TestClass exportArg)
{
     //do something
}

我可以将javascript对象作为带有ajax的TestClass对象传递给web方法

var params = {};
params['StringParam '] = 'asd';
params['IntParam'] = 5;

$.ajax({
            type: 'POST',
            url: 'Home/MyExport',
            async: false,
            dataType: 'json',
            contentType: "application/json; charset=utf-8",
            data: JSON.stringify(params)
        });

但是当我用window.open尝试这个时,exportArg参数为null。如何使用window.open

将javascript对象传递给web方法
window.open('Home/MyExport?exportArg=' + JSON.stringify(params));

1 个答案:

答案 0 :(得分:0)

您的方法期望POST请求,方法是将值附加到查询字符串并调用window.open您正在执行GET请求。

您无法使用POST执行window.open。有一些解决方法,你可以在这个问题中找到它们&答案:Window.Open POST