码迷,mamicode.com
首页 > Web开发 > 详细

MVC3----使用Jquery模板异步加载数据

时间:2015-02-09 16:19:54      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:function   jquery   public   控制器   return   

*首先需要安装JQuery模板(右键引用->管理NuGet程序包->搜索jquery.templates->安装)

技术分享

--引用脚本

<script type="text/javascript" src="@Url.Content("~/Scripts/jQuery.tmpl.min.js")"></script>


--控制器代码:

public ActionResult QuickSearch(string term)
{
     var list = db.Demos.Where(r => r.Name.Contains(term)).Select(r => r).ToList();
     return Json(list, JsonRequestBehavior.AllowGet);
}


--视图代码:

①:

<script type="text/javascript">
    $(function () {
        //表单提交触发
        $("#personsearch").submit(function (event) {
            event.preventDefault(); //重要(阻止直接提交)
            var form = $(this);
            $.getJSON(form.attr("action"), form.serialize(), function (data) {
                $("#personTemplate").tmpl(data).appendTo("#data-ul");
            });
        });
    });
</script>


<!--表单-->
<form id="personsearch" method="get" action="@Url.Action("QuickSearch", "PersonError")">
    <input type="text" name="term" />
    <input type="submit" value="提交" />
    <img id="img" src="@Url.Content("~/Content/img/017.gif")" style="display:none" />
</form>

<!--模板-->
<script type="text/x-jquery-tmpl" id="personTemplate">
    <li>${Name}</li>
</script>

<!--容器-->
<div id="searchresults">
    <ul id="data-ul"></ul>
</div>

技术分享


②:使用ajax控制请求的过程(比如加载中显示加载动态,加载失败弹出提示框等等)

<script type="text/javascript">
    $(function () {
        //表单提交触发
        $("#personsearch").submit(function (event) {
            event.preventDefault(); //重要(阻止直接提交)
            var form = $(this);
            $.ajax({
                url: form.attr("action"),//链接
                data: form.serialize(),//数据
                beforeSend: function () { $("#img").show(); },//开始请求(加载动画)
                complete: function () { $("#img").hide(); },//请求完成
                error: function () { alert("失败"); },//请求失败
                success: function (data) {//请求成功
                    $("#personTemplate").tmpl(data).appendTo("#data-ul");
                }
            })
        });
    });
</script>


<!--表单-->
<form id="personsearch" method="get" action="@Url.Action("QuickSearch", "PersonError")">
    <input type="text" name="term" />
    <input type="submit" value="提交" />
    <img id="img" src="@Url.Content("~/Content/img/017.gif")" style="display:none" />
</form>

<!--模板-->
<script type="text/x-jquery-tmpl" id="personTemplate">
    <li>${Name}</li>
</script>

<!--容器-->
<div id="searchresults">
    <ul id="data-ul"></ul>
</div>

技术分享






本文出自 “程序猿的家--Hunter” 博客,请务必保留此出处http://962410314.blog.51cto.com/7563109/1612934

MVC3----使用Jquery模板异步加载数据

标签:function   jquery   public   控制器   return   

原文地址:http://962410314.blog.51cto.com/7563109/1612934

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!