提交表格后如何保存输入值?

时间:2018-10-30 23:30:28

标签: asp.net-mvc asp.net-core pagination

我正在研究Asp.net core 2项目。作为项目的一部分,我需要查看分页的结果。请看图片

enter image description here

在提交搜索表单后,删除了encoding = 'latin1' 的值。

enter image description here

当我单击第2页时,我看不到其余结果 提交表格后如何保存输入值?

控制器

input

搜索表单

 public IActionResult SearchResult(string txtsearch, int page = 1)
    {
        var model = new IndexModel();
        if (txtsearch != null)
        {
            //Paging/////////////////////////////////////////////////////////////////////////
            int paresh = (page - 1) * 3;
            int count = _iuw.NewsRepositoryUW.Get(n => n.Title.Contains(txtsearch)).Count();

            ViewBag.PageID = page;
            double counter = count % 3;
            if (counter != 0)
            {
                ViewBag.PageCount = (count / 3) + 1;
            }
            else
            {
                ViewBag.PageCount = count / 3;
            }

            model.searchModel = _iuw.NewsRepositoryUW.Get(n => n.Title.Contains(txtsearch)).Skip(paresh).Take(3).ToList();
            if (model.searchModel.Count() > 0)
            {
                ViewBag.searchVal = txtsearch;
                return View("Searchresult", model);
            }
            else
            {
                model.searchModel = null;
            }
        }
        return View("Searchresult", model);
    }

1 个答案:

答案 0 :(得分:0)

按照@Stephen Muecke的建议,您可以将搜索属性添加到模型中,并将TagHelper用作搜索属性。

如果要在不使用模型绑定的情况下实现要求,则可以根据您的代码进行尝试:

 <input type="text" id="txtsearch" name="txtsearch" class="form-control" placeholder="Search" value="@(ViewBag.txtsearch ?? String.Empty)">

并在控制器中设置值:

ViewBag.txtsearch = txtsearch;