如何检索数据从mssql数据库到json代码与asp.net

How to retrieve data from mssql database into json code with asp.net

本文关键字:json 数据库 代码 net asp mssql 何检索 检索 数据      更新时间:2023-09-26

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

    <%
    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();
    };

"。responseText"包括html标记和所有内容。有没有一种优雅的方法来解决这个问题?

你可以使用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>