MVC5 条件查询异步刷新

学校要做一个数据查询,按条件并且能下载

20160312  使用HTML.ajax异步刷新 

视图层

@Html.Partial("_men")
<div class="col-md-10">
    <div class="row">
      @using(Ajax.BeginForm(new AjaxOptions
      {
          HttpMethod = "post",
          InsertionMode = InsertionMode.ReplaceWith,
          UpdateTargetId = "searchbm"
      }))
      {
        @Html.DropDownList("RecommName", "选择负责人")
        @Html.DropDownList("DateTime","选择毕业时间")
        @Html.DropDownList("School", "选择学校")
        @Html.DropDownList("Major", "专业")
        <input type="text"   name="Name" placeholder="请输入姓名..." />
        <input type="text"   name="Card" placeholder="请输入身份证号..."/>
        <input type="submit" value="查询" />
        <input type="button" id="down" value="下载" />
      }
    </div>
    <div class="row">
        @Html.Partial("_Searchbm", Model)
    </div>

</div>
<script >
    $(function () {
        $("#down").click(function () {            
            var form = document.forms[0];
            var oldaction = form.action;
            form.action = "/zsgl/down";
            form.method = "post";
            form.target = "_blank";
            form.submit();
            form.action = oldaction;
        })
    })
</script>
View Code

控制器

        public ActionResult bmman()
        {
            //1.get all studentI
            List<StudentI> si = sb.Get();
            //2.create dropselect to <select>
            ViewData["RecommName"] = si.DistinctBy(x => x.RecommName).Select(a => new SelectListItem { Text = a.RecommName, Value = a.RecommName });
            ViewData["DateTime"] = si.DistinctBy(x => x.DateTime).Select(a => new SelectListItem { Value = a.DateTime, Text = a.DateTime });
            ViewData["Major"] = si.DistinctBy(x => x.Major).Select(a => new SelectListItem { Value = a.DateTime, Text = a.DateTime });
            ViewData["School"] = si.DistinctBy(x => x.DateTime).Select(a => new SelectListItem { Value = a.DateTime, Text = a.DateTime });

            return View(si);
        }
        [HttpPost]
        public ActionResult bmman(StudentI s)
        {
            if (Request.IsAjaxRequest())
            {
                List<StudentI> si = sb.Get();

                if (s.DateTime != null)
                    si = si.Where(x => x.DateTime == s.DateTime).ToList();
                if (s.RecommName != null)
                    si = si.Where(x => x.RecommName == s.RecommName).ToList();
                if (s.Card != null)
                    si = si.Where(x => x.Card.Contains( s.Card)).ToList();
                if (s.Name != null)
                    si = si.Where(x => x.Name.Contains(s.Name)).ToList();

                return PartialView("_Searchbm", si);
            }
            return HttpNotFound();
        }
View Code

注意事情:

1.web.config里面修改使用ajax异步刷新

<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<!--<add key="owin:AppStartup " value="SSM/Spp_Start/IdentityConfig"/>-->
</appSettings>

原文地址:https://www.cnblogs.com/0to9/p/5270293.html