Таблица данных Retornar Webmethod к Ajax

Tengo un webmethod en el cual lleno un objeto datatable, el cual tendrá Комо 300 filas por 20 columnas.

Ми duda es СИ se puede retornar Комо datatable, танго lo de la siguiente manera:

        [WebMethod()]
    public static DataTable allValues()
    {

        SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["cad"].ToString());
        SqlCommand cmd = new SqlCommand();
        DataTable dt = new DataTable();
        SqlDataAdapter sqlDA; cnn.Open();
        cmd.CommandText = " SELECT TOP 500 * FROM Table1 ";
        cmd.CommandType = CommandType.Text;
        cmd.Connection = cnn;
        sqlDA = new SqlDataAdapter(cmd);
        sqlDA.Fill(dt);
        cnn.Close();

        return dt;
    }

Мания Y lo recibo de la siguiente, pero не я esta retornando nada.

            $.ajax({
            type: "POST",
            url: '<%=ResolveUrl("Default.aspx/allValues") %>',
            data: '{}',
            contentType: "application/json; charset=utf-8",
            dataType: 'json',

            success: function (data) {
                console.log(data.d + '***');
            },
            error: function (x, y) {
                console.log(x);
            }

        });

СИ Pueden decirme es возможный?, o que otro metodo я recomiendan параграф pasar muchos registros?. Uso Веб-формы Asp.net.

Gracias.

0
задан 20.12.2019, 17:38
1 ответ

Друг, я думаю, что ты Webmethod нуждается в каких-то исправлениях. Я это realicГ© в VB и я перемещаю более 2000 линий с 8 колоннами, в VB я это объявляю как Public Shared Function, из-за того, что эквивалент deberГ, - чтобы быть asГ - в C# :

 [WebMethod()]
    public static string allValues()
    {

        List<object> results= new List<object>();

        SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["cad"].ToString());
        SqlCommand cmd = new SqlCommand();
        DataTable dt = new DataTable();
        SqlDataAdapter sqlDA; cnn.Open();
        cmd.CommandText = " SELECT TOP 500 * FROM Table1 ";
        cmd.CommandType = CommandType.Text;
        cmd.Connection = cnn;
        sqlDA = new SqlDataAdapter(cmd);
        sqlDA.Fill(dt);
        cnn.Close();

        return results;
    }

Я Был много времени исследуя, чтобы осуществлять так называемый plugin datatables JS и это проницательная Гєnica работы с объектами типа JSON, я реализую parseo из-за стороны клиента.

Протестируй это и ты рассказываешь мне, как он ты идет.

EDIT

я оставляю Тебе ademГЎs одни pequeГ±as исправления Аякса.

$.ajax({
            type: "POST",
            url: '<%=ResolveUrl("Default.aspx/allValues") %>',
            data: '{}',
            contentType: "application/json; charset=utf-8",
            dataType: 'json',

            success: function (data) {
                console.log(data.d + '***');
            },
            error: function(x,y){
            console.log(x);
            }

        });

Исправления - с унифицированным указателем ресурса и датой, ademГЎs я добавляю часть ошибки для того, чтобы ты смог захватывать это в случае, который в тебя бросал бы один.

0
ответ дан 21.12.2019, 12:13
  • 1
    Спасибо, я буду проверять это. – PolloKulos 20.12.2019, 17:18