Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 试图将javascript数组和int传递给codebehind_C#_Javascript_Asp.net_Json - Fatal编程技术网

C# 试图将javascript数组和int传递给codebehind

C# 试图将javascript数组和int传递给codebehind,c#,javascript,asp.net,json,C#,Javascript,Asp.net,Json,我试图将javascript数组传递给代码隐藏中的方法。问题是,我需要将int与数组一起传递给该方法。当我这样做时: $.ajax({ type: "POST", url: webMethod, data: JSON.stringify({ myArray : passedArray }), 它起作用了。但现在我似乎不知道如何将数组传递给代码隐藏和int。 我需要将其与阵列一起传递: "{'sele

我试图将javascript数组传递给代码隐藏中的方法。问题是,我需要将int与数组一起传递给该方法。当我这样做时:

$.ajax({
                type: "POST",
                url: webMethod,
                data: JSON.stringify({ myArray : passedArray }),
它起作用了。但现在我似乎不知道如何将数组传递给代码隐藏和int。 我需要将其与阵列一起传递:

"{'selectID' : '" + $("#ScarTattoos option:selected").val()
因为我的方法参数是:

public markItem getMarkNoID(int selectID, string[] person)
{
}

不确定是否可以简单地从jqueryajax方法发布到代码隐藏中。如果您是使用MVC开发的,您可以发布到控制器,但您似乎在使用web表单。您可能会更幸运地将JSON数据保存到
,然后发回


通过调用服务器上的
Page.ClientScript.GetPostBackEventReference()
方法,然后将结果传递给客户端JavaScript代码供以后调用,可以获得所需的回发JavaScript代码。

可以发送一个复合JSON对象,如下所示:

{
    myArray: passedArray,
    selectID: $("#ScarTattoos option:selected").val()
}
var obj = {
    selectID: parseInt($("#ScarTattoos option:selected").val(), 10),
    myArray: passedArray
};
在AJAX调用中将此消息传递给
JSON.Stringify
,两个所需的对象都将被发送到服务器处理程序


但是,您必须手动对其进行反序列化,除非您将其发送到web服务,web服务通常根据参数名称(在JSON模式下)本身进行反序列化。

我建议将数组和int添加到对象中,并对该对象进行字符串化

var theID = $("#ScarTattoos option:selected").val();
var array = passedarray;
var PassObj = { selectID: theID, person: array};

试着这样做:

{
    myArray: passedArray,
    selectID: $("#ScarTattoos option:selected").val()
}
var obj = {
    selectID: parseInt($("#ScarTattoos option:selected").val(), 10),
    myArray: passedArray
};
$(“#scar纹身选项:选中”).val()
将为您提供一个字符串,因此您需要parseInt()将其设置为数字类型


只需JSON.stringify您的obj并发送它。

然后确保JSON对象中的字段与方法参数具有相同的名称-在您的示例中,ID为“selectID”,数组为“person”。