【问题标题】:How to retrieve data from mssql database into json code with asp.net如何使用 asp.net 将 mssql 数据库中的数据检索到 json 代码中
【发布时间】:2016-09-20 07:32:08
【问题描述】:

我有一个用 asp.net 编码的网站和一个 mssql 数据库。
我想用 json 检索位于我的数据库中的数据并将其打印在 div 中。该网站正在使用 jQuery 移动。我需要它异步工作。
这是应该从数据库中获取数据并以 json 格式打印的 DataFetch.aspx:

    <%
    UserDB udb = new UserDB();
    Users u = udb.SelectById((int)Session["loggedID"]);
    TestDB tdb = new TestDB();
    Tests t = tdb.SelectByStudentID((int)Session["loggedID"]);

 //QueryString["task"] = 1 => Fetch Grades
    if (int.Parse(Request.QueryString["task"]) == 1)
    {

        Response.Write("{ \"grades\":");
        for (int i = 0; i < t.Count; i++)
        {
            if (i != 0)
                Response.Write(",");

            Response.Write(" [{\"subjectName\":\"" + t[i].lesson  + "\", \"date\":\"" + t[i].date + "\", \"grade\":\"" + t[i].grade + "\"}]");
        }
        Response.Write(" }");
    }

这是生成的 json:

{ "grades": [{"subjectName":"Math", "date":"18/09/2016", "grade":"100"}] }

这就是我阅读和解释用 DataFetch.aspx 编写的 json 代码的方式:

    var xhttp = new XMLHttpRequest();
    var jsonResult;
    xhttp.onreadystatechange = function () {

        if (this.readyState == 4 && this.status == 200) {
            jsonResult = JSON.parse(this.responseText);
            document.write(jsonResult.grades[0].subjectName);
            }
    }
    xhttp.open("GET", "DataFetch.aspx?task=" + task, true);
    xhttp.send();
    };

"this.responseText" 包括 html 标记和所有内容。有没有优雅的方法来解决它?

【问题讨论】:

    标签: javascript jquery asp.net json


    【解决方案1】:

    你可以通过ajaxcall从aspx页面获取数据

     [WebMethod]
    public static string OnGetData(string task)
    {
     //////
     return  jsonResult; /// your json data
    }
       <script type="text/javascript">
       
    $(function() {
        var mytask = task;
        $.ajax({
            type: "POST",
            url: "DataFetch.aspx/OnGetData",
            data: "{task:" + mytask + "}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(data) {
              ///your code
           }
        });
    });
    </script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-28
      • 2017-04-12
      • 2021-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      相关资源
      最近更新 更多