Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.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# 单击搜索按钮后,如何在不重置控制值的情况下对列表应用筛选器?_C#_Asp.net Mvc_Asp.net Core_Razor Pages - Fatal编程技术网

C# 单击搜索按钮后,如何在不重置控制值的情况下对列表应用筛选器?

C# 单击搜索按钮后,如何在不重置控制值的情况下对列表应用筛选器?,c#,asp.net-mvc,asp.net-core,razor-pages,C#,Asp.net Mvc,Asp.net Core,Razor Pages,我有一个带有搜索按钮的表单中的人员列表和过滤控件。单击“搜索”按钮时,列表中会填充过滤的数据,但搜索控件也会丢失其选定的值。我不确定这是最好的方法 我尝试将视图分为部分视图和主视图,即人员列表在部分视图中,过滤控件在主视图中 应在不丢失搜索控件值的情况下筛选列表。完成这项任务的最佳实践应该是什么?示例图像>>我建议首先使用ViewBag将数据存储在控制器中,如下所示: public ActionResult YourSearchPage() { //Bind th

我有一个带有搜索按钮的表单中的人员列表和过滤控件。单击“搜索”按钮时,列表中会填充过滤的数据,但搜索控件也会丢失其选定的值。我不确定这是最好的方法

我尝试将视图分为部分视图和主视图,即人员列表在部分视图中,过滤控件在主视图中


应在不丢失搜索控件值的情况下筛选列表。完成这项任务的最佳实践应该是什么?示例图像>>

我建议首先使用ViewBag将数据存储在控制器中,如下所示:

    public ActionResult YourSearchPage()
    {
        //Bind the data to a list here
        List<YourResultType> result = //Get from DB
        return View(result);
    }

    //When the user clicks the "Search" button
    [HttpPost]
    public ActionResult YourSearchPage(string keyword, int listingType...)
    {
        //Bind the data to a list here
        List<YourResultType> result = //Get from DB
        ViewBag.keyword = keyword;
        ViewBag.listingType = listingType;
        //Filter the list
        return View(result);
    }
public ActionResult YourSearchPage()
{
//将数据绑定到此处的列表
列表结果=//从数据库获取
返回视图(结果);
}
//当用户单击“搜索”按钮时
[HttpPost]
公共操作结果YourSearchPage(字符串关键字,int listingType…)
{
//将数据绑定到此处的列表
列表结果=//从数据库获取
ViewBag.keyword=关键字;
ViewBag.listingType=listingType;
//筛选列表
返回视图(结果);
}
在视图上,将值绑定到控件,如下所示:

<input type="text" id="keyword" class="keyword" value="@ViewBag.keyword" style="width: 80%;"/>

我建议首先使用ViewBag在控制器中存储数据,如下所示:

    public ActionResult YourSearchPage()
    {
        //Bind the data to a list here
        List<YourResultType> result = //Get from DB
        return View(result);
    }

    //When the user clicks the "Search" button
    [HttpPost]
    public ActionResult YourSearchPage(string keyword, int listingType...)
    {
        //Bind the data to a list here
        List<YourResultType> result = //Get from DB
        ViewBag.keyword = keyword;
        ViewBag.listingType = listingType;
        //Filter the list
        return View(result);
    }
public ActionResult YourSearchPage()
{
//将数据绑定到此处的列表
列表结果=//从数据库获取
返回视图(结果);
}
//当用户单击“搜索”按钮时
[HttpPost]
公共操作结果YourSearchPage(字符串关键字,int listingType…)
{
//将数据绑定到此处的列表
列表结果=//从数据库获取
ViewBag.keyword=关键字;
ViewBag.listingType=listingType;
//筛选列表
返回视图(结果);
}
在视图上,将值绑定到控件,如下所示:

<input type="text" id="keyword" class="keyword" value="@ViewBag.keyword" style="width: 80%;"/>


您是否可以生成一个最小的工作示例来显示问题并发布代码?不要发布所有当前代码,用一个过滤器和搜索按钮代码做一个示例。当您返回视图时,可能视图已刷新。您可以使用ajax和部分视图。当您单击按钮时,向action发送ajax请求,并返回部分视图,在视图中使用
html(结果)呈现此响应
。请参阅@XingZou。对于新手来说,使用ajax并在客户端呈现结果可能有点曲折。最好使用MVC的默认功能来实现这一点,以提高安全性,而且更简单。您能否生成一个最小的、有效的示例来显示问题并发布代码?不要发布所有当前代码,用一个过滤器和搜索按钮代码做一个示例。当您返回视图时,可能视图已刷新。您可以使用ajax和部分视图。当您单击按钮时,向action发送ajax请求,并返回部分视图,在视图中使用
html(结果)呈现此响应
。请参阅@XingZou。对于新手来说,使用ajax并在客户端呈现结果可能有点曲折。最好使用MVC的默认功能来实现这一点,以获得更好的安全性,而且更简单。