繁体   English   中英

ASP.NET MVC搜索框未发布回索引

[英]ASP.NET MVC Search Box Not Posting Back to Index

我有一个基本的MVC应用,正在尝试实现一些搜索功能。 当我输入数据并单击“搜索”时,URL会按预期更新,但索引页仍返回所有结果,而不是过滤的结果。 我下面有我的代码,想知道是否有人可以指出为什么会这样? 我不认为根据过去的工作需要单独的Post方法,但是由于我还很新,所以我可能是错的。 谢谢。

INDEX.CSHTML:

<p>
    @Html.ActionLink("Create New Employee", "Create")
</p>

<form asp-action="Index" method="get">
    <div class="form-actions no-color">
        <p>
            Find by name: <input type="text" name="searchString" value="@ViewBag.CurrentFilter" />
            <input type="submit" value="Search" class="btn btn-default" /> |
            <a asp-action="Index">Back to List</a>
        </p>
    </div>
</form>

控制器:

public ActionResult Index(string searchString)
{
    var person = from p in db.Person
                    select p;

    ViewBag.CurrentFilter = searchString;

    if (!String.IsNullOrEmpty(searchString))
    {
        person = person.Where(s => s.LastName.Contains(searchString));
                                //|| p.FirstName.Contains(searchString));
    }
    return View(db.Person.ToList());
}

单击搜索时返回的URL:

http://localhost:9999/Person/Index?searchString=smith

因为您要返回错误的结果返回到视图,这指示要从Persons表返回所有行并将其传递给视图,所以将最后一行更改为:

return View(db.Person.ToList());

至:

return View(person.ToList());

以便将过滤后的结果集返回到视图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM