MVC如何在页面之间导航时保​​持搜索值?

mev*_*ren 5 .net html c# model-view-controller search

我有一个搜索框,可以使用EMPLID进行搜索.搜索有效,但如果我在搜索后转到任何其他页面(例如:如果我切换到详细信息页面)然后导航回我搜索的页面,它会显示所有记录.如何保持搜索条件,以便在我在页面之间导航时显示该EMPLID的信息?

我的控制器:

public ActionResult Index(string SearchString)
{

    var emp = from e in db.EMPLOYMENTs
              select e;

    if (!String.IsNullOrEmpty(SearchString))
    {
        emp = emp.Where(s => s.EMPLID.Contains(SearchString));
    }

    return View(emp);
}
Run Code Online (Sandbox Code Playgroud)

我的布局:

@using (Html.BeginForm())
{
    <form class="navbar-form navbar-left" role="search">
        <div class="form-group">
            <input class="form-control" placeholder="Search" type="text" name="SearchString">
        </div>
    </form>
}
Run Code Online (Sandbox Code Playgroud)

Yog*_*ogi 1

您可以用于TempData保留搜索字符串。

将您的 SearchString 添加到临时数据中,如下所示-

TempData["SearchString"] = SearchString;
Run Code Online (Sandbox Code Playgroud)

...并在需要时取回该值-

string searchString = TempData["SearchString"] as string;
Run Code Online (Sandbox Code Playgroud)

请参阅这篇msdn文章,了解有关在 ASP.NET MVC 应用程序中传递数据的更多信息