学校要做一个数据查询,按条件并且能下载
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>
控制器
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(); }
注意事情:
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>