当前位置:Gxlcms > 数据库问题 > MVC $.Ajax()+Json实现数据库访问并显示数据

MVC $.Ajax()+Json实现数据库访问并显示数据

时间:2021-07-01 10:21:17 帮助过:2人阅读

Models.DBhelp(); DataTable table = new DataTable(); public ActionResult Index() { return View(); } [HttpPost] public ActionResult Index(int? Tid) { table = help.getDataTable(string.Format(@"select * from Topic inner join Course on Topic.C_CourseID=Course.C_C_CourseID where T_ID=‘{0}‘", Tid)); if (table.Rows.Count > 0) { List<Models.Topic> list = new List<Models.Topic>(); foreach (DataRow item in table.Rows) { Models.Topic T = new Models.Topic(); T.T_ID = Convert.ToInt32(item["T_ID"]); T.T_Title = item["T_Title"].ToString(); T.T_AnswerA = item["T_AnswerA"].ToString(); T.T_AnswerB = item["T_AnswerB"].ToString(); T.T_AnswerC = item["T_AnswerC"].ToString(); T.T_AnswerD = item["T_AnswerD"].ToString(); T.T_Answer = item["T_Answer"].ToString(); T.C_CourseID = Convert.ToInt32(item["C_CourseID"]); T.C_CourseName = item["C_CourseName"].ToString(); list.Add(T); } /*如果有多张表最好将集合转换为JsonResult对象*/ //JsonResult json = new JsonResult //{ // Data = list //}; return Json(list); } else { return Json("No"); } }

 



前台代码

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <script src="~/Scripts/jquery-1.10.2.js"></script>
    <script src="~/Scripts/jquery.validate-vsdoc.js"></script>
    <script type="text/javascript">
        $(function () {
            $("#text").bind("keyup", function () {
                if ($("#text").val() == "") {
                    $("#showDiv").empty();//清空标记类容
                    return;
                } else {
                    $.ajax({
                        type: "post",
                        url: "/Home/Index",
                        data:
                            {
                                Tid: $("#text").val()
                            },
                        datatype: "json",
                        success: function (data) {
                            if (data == "No") {
                                $("#showDiv").text("非法数据");
                            }
                            else {
                                var strHTML = "";
                                $("#showDiv").empty();
                                //用$.each方法解析获取到的Json
                                //$.each(data, function (i, Que) {
                                //    strHTML += "编号" + Que["T_ID"] + "<br/>";
                                //    strHTML += "科目" + Que["C_CourseName"] + "题目" + Que["T_Title"] + "<br/>";
                                //    strHTML += "A:" + Que["T_AnswerA"] + "<br/>";
                                //    strHTML += "B:" + Que["T_AnswerB"] + "<br/>";
                                //    strHTML += "C:" + Que["T_AnswerC"] + "<br/>";
                                //    strHTML += "D:" + Que["T_AnswerD"] + "<br/>";
                                //    strHTML += "答案:" + Que["T_Answer"] + "<br/>";
                                //});
                                //用for循环解析获取到的Json
                                for (var i = 0, length = data.length; i < length; i++) {;
                                    strHTML += "编号" + data[i].T_ID + "<br/>";
                                    strHTML += "科目" + data[i].C_CourseName + "\
                                                <br/>题目" + data[i].T_Title + "<br/>";
                                    strHTML += "A:" + data[i].T_AnswerA + "<br/>";
                                    strHTML += "B:" + data[i].T_AnswerB + "<br/>";
                                    strHTML += "C:" + data[i].T_AnswerC + "<br/>";
                                    strHTML += "D:" + data[i].T_AnswerD + "<br/>";
                                    strHTML += "答案:" + data[i].T_Answer + "<br/>";
                                }
                                $("#showDiv").html(strHTML);
                            }
                        }
                    });
                }
            })
        });
    </script>
    <title>Index</title>
</head>
<body>
    <div id="textDiv">
        <input type="text" id="text" />
    </div>
    <br />
    <div id="showDiv"></div>
</body>
</html>

完成后的效果是这样的,输入对应的试题编号,就会无刷新的显示对应试题信息

技术分享

当然你会说这个效果与搜索引擎的效果相差甚远,但是当你仔细分析两者之间的原理时,你会发现这就是一个简单的搜索引擎效果,任何东西都是由简到复杂的,在学习编程时,我们只有弄懂一段段简单的代码的原理,才能在实践过程中更好的去理解和操作代码

MVC $.Ajax()+Json实现数据库访问并显示数据

标签:

人气教程排行