繁体   English   中英

asp.net webforms-如何使用C#获取JavaScript函数的json数据

[英]asp.net webforms - how to get the json data of a javascript function using c#

我的javascript中有一个返回json的函数。 我想使用c#获取该javascript函数的返回值,以便可以在dataTable中将其转换。 谁能帮我? 抱歉,我只是asp.net网络表单的初学者。

JS

function getAllMessages()
    {
        $.ajax({
            url: '/api/Messages/',
            contentType: 'application/html ; charset:utf-8',
            type: 'GET',
            dataType: 'JSON'
        }).success(function (result) {

        });
    }

因为您没有实际的代码,所以我只给出一个算法。 我在其中一个项目中遇到了这种情况。

在您的html / asp.net按钮中,执行一个具有参数的网络方法以接收json格式

 $.ajax({
            type: 'POST',
            url: 'YourPage.aspx/c#MethodThatWillReceiveJSON',
            data: "{c#MethodParameterName:" + JSON.stringify(YourJSONvalues) + "}",
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function (r) {
                alert(r.d.exampleDataFromJson);

            }
        });

您需要创建另一个javascript函数,该函数将调用您的原始javascript(将返回json格式的javascript),然后使用该函数将其作为参数传递给c#webmethod的参数。

//your original javascript function that returns json
  function getJsonData()
  {
   // your code
  }

  // use that js function to store in a var , then pass it to your c#
   var MyJSONdata = getJSONData();
   $.ajax({
        type: 'POST',
        url: 'YourPage.aspx/c#MethodThatWillReceiveJSON',
        data: "{c#MethodParameterName:" + JSON.stringify(MyJSONdata) + "}",
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        success: function (r) {
            alert(r.d.exampleDataFromJson);

        }
    });

如果您在C#网络方法中使用String类型作为参数,则不能将其用作JSON东西,则需要使用json serializer :)转换String变量,您可以在net /中找到很多参考stackoverflow,它只是要转换的代码的一种。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM