C# 搜索框中未保留搜索字符串

C# 搜索框中未保留搜索字符串,c#,asp.net-core-mvc,C#,Asp.net Core Mvc,过滤器工作正常,我得到了正确的数据,但我无法在搜索框中保留搜索字符串。我无法找出代码中的错误 [HttpGet] public async Task<IActionResult> GetAllLeaves(int? page, string sortOrder, string currentFilter, string employeeName, string employeeId = null, ) { var leaves = await _employeeLeaveRe

过滤器工作正常,我得到了正确的数据,但我无法在搜索框中保留搜索字符串。我无法找出代码中的错误

[HttpGet]
public async Task<IActionResult> GetAllLeaves(int? page, string sortOrder, string currentFilter, string employeeName, string employeeId = null, )
{
    var leaves = await _employeeLeaveRepository.GetAllLeavesOfUsers();

    if (!String.IsNullOrEmpty(employeeName))
    {
        leaves = leaves.Where(e => e.FullName.ToLower().Contains(employeeName.ToLower()));
        // return View (employeeViewList.ToList());
    }
    else
    {
        employeeName = currentFilter;
    }

    ViewBag.CurrentFilter = employeeName;

    // .............
    // other code
    // .............

    int pageSize = 10;
    int pageNumber = (page ?? 1);

    return View(leaves.OrderByDescending(s => s.LeaveStatus).ToPagedList(pageNumber, pageSize));
}
[HttpGet]
公共异步任务GetAllLeaves(int?页,字符串排序器,字符串currentFilter,字符串employeeName,字符串employeeId=null,)
{
var leaves=await_employeeLeaveRepository.GetAllLeavesOfUsers();
如果(!String.IsNullOrEmpty(employeeName))
{
leaves=leaves.Where(e=>e.FullName.ToLower().Contains(employeeName.ToLower());
//返回视图(employeeViewList.ToList());
}
其他的
{
employeeName=currentFilter;
}
ViewBag.CurrentFilter=employeeName;
// .............
//其他代码
// .............
int pageSize=10;
整数页码=(第1页);
返回视图(leaves.OrderByDescending(s=>s.LeaveStatus).ToPagedList(pageNumber,pageSize));
}
观点:

<form method="get" class="mt-5" asp-controller="Leave" asp-action="GetAllLeaves">
    <div class="form group col-md-6">
        <label>Employee </label>
        <div class="col">
            <input type="hidden" id="employeeId" name="employeeId" />
            <input type="text" name="employeeName"  id="employeeName" />
        </div>
    </div>
</form>

雇员

您可以将
员工姓名
存储在ViewBag中:

ViewBag.EmployeeName= employeeName;
然后将其设置为输入值:

<input type="text" name="employeeName"  id="employeeName" value="@ViewBag.EmployeeName" />

您应该创建一个视图模型,其中包含搜索结果的集合和搜索字符串的字符串。然后将文本输入绑定到模型的该属性,并在控制器操作中进行设置。