1. 程式人生 > >ASP.NET MVC 搜索+保存搜索結果.2個按鈕共用一個表單

ASP.NET MVC 搜索+保存搜索結果.2個按鈕共用一個表單

req request exp select ucc 結果 total cli 調用

想要實現的效果,1.搜索功能 2.搜索結果保存到text功能

前臺代碼

一個表單2個按鈕,通過JS代碼來修改form的action,來實現調用不同的後臺代碼

            <form name="form1"  action="~/Card/List" method="get" >
                <span class="label label-success">卡號:</span>
                <input class="form-inline" type="text" name="CardNum" placeholder
="請輸入要查詢的卡號" value="@Request.QueryString["CardNum"]" style="width:260px" /> <span class="label label-success">面值:</span> <input type="text" name="Price" placeholder="" value="@Request.QueryString["Price"]" style="width:100px" /> <span
class="label label-success">狀態:</span> <select name="Status"> <option value="2" @(Request.QueryString["Status"] == "2" ? "selected=‘selected‘" : "")> 全部 </option> <option value="-1" @(Request.QueryString["Status"] ==
"-1" ? "selected=‘selected‘" : "")> 凍結 </option> <option value="0" @(Request.QueryString["Status"] == "0" ? "selected=‘selected‘" : "")> 已用 </option> <option value="1" @(Request.QueryString["Status"] == "1" ? "selected=‘selected‘" : "")> 未用 </option> </select> <span class="label label-success">創建日期:</span> <input type="date" class="inline laydate-icon" name="CreateDateTime" value="@Request.QueryString["CreateDateTime"]" /> <button type="submit" class="btn btn-success" onclick="mysearch()">查詢</button> <button id="SaveText" class="btn btn-success" onclick="myexport()">導出查詢結果</button> </form>

JS代碼

        function mysearch() {
            document.form1.action = "/Card/List";
        }
        function myexport() {
            document.form1.action = "/Card/Export";
        }

後臺代碼

後臺用到了mvcpager分頁,用的htmlget方式

        [CheckLogin]
        [HttpGet]
        public ActionResult List(string cardnum, decimal? Price, int? Status, DateTime? CreateDateTime, int id = 1)
        {
            return list(cardnum, Price, Status, CreateDateTime, id);
        }
        [CheckLogin]
        [HttpGet]
        public ActionResult Export(string cardnum, decimal? Price, int? Status, DateTime? CreateDateTime, int id = 1)
        {
            CardService cardS = new CardService();
            var model = cardS.Search2(cardnum, Price, Status, CreateDateTime);
            var items= list(cardnum, Price, Status, CreateDateTime, id);
            string str = string.Empty;
            foreach (var item in model)
            {
                str = str + item.CardNum+"----"+item.Price+"----"+item.CreateDateTime+"----"+item.Status + "\r\n";
            }
            byte[] data = Encoding.UTF8.GetBytes(str);
            return File(data, "text/plain", "卡密.txt");
        }
        private ActionResult list(string cardnum, decimal? Price, int? Status, DateTime? CreateDateTime,int id = 1)
        {
            CardService cardS = new CardService();
            var model = cardS.Search2(cardnum, Price, Status, CreateDateTime);
            PagedList<CardDTO> InfoPager = model.ToPagedList(id, 10);
            InfoPager.TotalItemCount = model.Count();
            InfoPager.CurrentPageIndex = id;
            CardSearchDTO model2 = new CardSearchDTO();
            model2.Cards = InfoPager;
            if (Request.IsAjaxRequest())
                    return PartialView("_AjaxSearchGet", model2);
                return View("List",model2);
            
        }

ASP.NET MVC 搜索+保存搜索結果.2個按鈕共用一個表單