MVC—实现ajax+mvc异步获取数据

    之前写过ajax和一般处理程序的结合实现前后台的数据交换的博客,如今做系统用到了MVC,同一时候也用到了异步获取数据。

ajax+一般处理程序与MVC+ajax原理是一样的在"URL"中前者写的一般处理程序的名字。而后者写到Controller中须要调用的方法。


Controller中的设计


using System.Collections.Generic;
using System.Web.Mvc;

namespace mvcAjaxByAjax.Controllers
{
    //考试试题
    public class ExamEntity
    {
        public int Id { get; set; }
        public string ExamName { get; set; }
    }
    public class mvcAjaxByAjaxController : Controller
    {
        [HandleError]
        public ActionResult Index()
        {
            return View();
        }

        /// <summary>
        /// 获取考试数据
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        public ActionResult GetExam()
        {
            //加入employee数据
            List<ExamEntity> examList = new List<ExamEntity>()
            {
                new ExamEntity {Id = 1, ExamName = "语文考试"},
                new ExamEntity {Id = 2, ExamName = "数学考试"}
            };

            //直接返回此类型JSON类型
            return Json(examList);
        }
    }
}

View中的设计


@{
    ViewBag.Title = "Index";
}
<script src="~/Scripts/jquery-2.1.3.min.js"></script>
<h2>ajax获取数据</h2>
<script type="text/javascript" language="javascript">
    $(function () {
        //注冊单击事件
            $("#btTest").click(function() {
                $.ajax({
                    type: "POST",
                    contentType: "application/json",
                    url: "GetExam",
                    data: "{}",
                    dataType: 'json',
                    success: function (result) {
                        //将返回数据加入到页面表格中
                        $("#tdId1").html(result[0].Id);
                        $("#tdName1").html(result[0].ExamName);
                        $("#tdId2").html(result[1].Id);
                        $("#tdName2").html(result[1].ExamName);
                    }

                });
            });
        });
    
    </script>

<table>
    <tr>
        <th>考试ID</th>
        <th>考试名称</th>
    </tr>
    <tr>
        <td id="tdId1"></td>
        <td id="tdId2"></td>
    </tr>
    <tr>
        <td id="tdName1"></td>
        <td id="tdName2"></td>
    </tr>
    <tr>
        <td><input type="button" value="查询" id="btTest" /></td>
    </tr>
</table>


通过firebug 查看返回的数据




页面显示效果



总结

    利用mvc+ajax简单的实现异步数据的查询,直接调用后台的Controllers方法。后台方法直接返回数据给前台控件。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值