Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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# 在web方法中访问JSON调用的参数_C#_Jquery_Asp.net_Json - Fatal编程技术网

C# 在web方法中访问JSON调用的参数

C# 在web方法中访问JSON调用的参数,c#,jquery,asp.net,json,C#,Jquery,Asp.net,Json,我有下面的JSON调用,我传递的数据从我所看到的来看似乎被正确地字符串化了,但是,我似乎没有正确的语法来处理公共web方法中的参数 以下是JSON调用: <script type="text/javascript" language="javascript"> var qs = new Querystring(); var v1 = qs.get("TorVName"); var jsonData = JSON.stringify(v1);

我有下面的JSON调用,我传递的数据从我所看到的来看似乎被正确地字符串化了,但是,我似乎没有正确的语法来处理公共web方法中的参数

以下是JSON调用:

<script type="text/javascript" language="javascript"> 

  var qs = new Querystring();

  var v1 = qs.get("TorVName");

  var jsonData = JSON.stringify(v1);  

        $().ready(function() {
            $.ajax({
                type: "POST",
                url: "Default.aspx/GetColumns",
                data: jsonData,
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(msg) {
       var optString = '<option value="-1">Select Column</option>';
        $.each(msg.d, function(index, item) {
        optString += '<option value="' + item + '">' + item + '</option>';
        });
        $('select[name^=DDLColumns]').html(optString);
                },
                error: function() {
                    alert("Failed to load columns");
                }
            });
        });
</script>
等等等等

我很难决定如何调试web方法,因为我只能在firebug中看到客户端操作

任何关于如何在web方法中接收和处理参数的帮助都将不胜感激


感谢Deano

您需要将Visual Studio连接到运行web应用程序的w3wp.exe并设置断点

另一种可能是使用System.Net跟踪来输出进出应用程序的所有数据:


将内容放在web.config中。

您的数据需要采用名称/值对格式,如下所示:

 var jsonData = JSON.stringify({ TorVName: qs.get("TorVName") }); 

web方法正在查找名为
TorVName
的属性,因此JSON请求需要一个名称/值对,而不仅仅是字符串。在上面的代码中,
TorVName:
是因为web方法中的参数就是这样命名的。

正如其他人所说,您不需要一个带有参数TorVName的json对象,因为您的web方法正在寻找htat。 一个简单的方法是 变量数据={}//创建新对象 数据['torVName']=实际数据'; 然后在ajax调用中,您可以说
数据:JSON.stringify(data)

在建议IE8中的stringify内容之前,也许你们应该先阅读以下内容:

当字符串化在不同窗口中创建的对象时,JSON返回“undefined” 请参阅测试用例

 var jsonData = JSON.stringify({ TorVName: qs.get("TorVName") });