Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC在页面之间导航时如何保持搜索值?_C#_Html_.net_Search_Model View Controller - Fatal编程技术网

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

C# MVC在页面之间导航时如何保持搜索值?,c#,html,.net,search,model-view-controller,C#,Html,.net,Search,Model View Controller,我有一个搜索框,可以使用EMPLID进行搜索。搜索可以工作,但如果我在执行搜索后转到任何其他页面(例如:如果切换到详细信息页面),然后导航回我搜索的页面,它会显示所有记录。如何保持搜索条件,以便在页面之间导航时显示该员工ID的信息 我的控制器: public ActionResult Index(string SearchString) { var emp = from e in db.EMPLOYMENTs select e; if (!Stri

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

我的控制器:

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);
}
我的布局:

@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>
}
@使用(Html.BeginForm())
{
}

您有两个选项:使用TempData或使用会话状态

遵循以下示例:


您可以使用
TempData
保存搜索字符串

在临时数据中添加搜索字符串,如下所示-

TempData["SearchString"] = SearchString;
…并在需要时返回值-

string searchString = TempData["SearchString"] as string;

有关在ASP.NET MVC应用程序中传递数据的详细信息,请参阅本文。

您可能希望将该数据填充到会话变量中,然后在每个页面上使用该变量(如果存在)。我想在页面之间切换时,使用cookies是保存数据的最佳方法谢谢!你能举个例子吗?是的!等一下,我在打手机。