搜索结果在帖子上丢失了

时间:2015-09-03 18:42:09

标签: c# asp.net-mvc-4 http razor

我是这个MVC架构的新手,所以请执行基本或不成熟的问题。

我需要实现搜索功能。我在Home Controller SearchFNW(searchstring)中创建了一个操作。在这个方法中,我得到了一个包含搜索数据的ViewModel列表。

我将此列表传递给Index.cshtml并尝试在表中显示结果。

我可以将View Model的List数据提供给View。

Index.cshtml

@model List<First_Niagara_Works.ViewModels.AccountViewModel>
@{
    @using (Html.BeginForm("Index", "Home"))
    {   
       if (Model != null)
       {
           // code to populate table using model
       } 
    }
}

Homecontroller.cs

public ActionResult SearchFNW(string FNWtodo, string SearchInput)
{
    // all code to load viewmodels to list

    return View(@"~/Views/Home/Index.cshtml", lstAccountVM);
}

public ActionResult Index()
{
    return View();
}

问题:执行此代码后,它会重定向到Layout.cshtml,并从那里再次调用Index操作..并使用@ Html.beginform()重新开始。因此无法查看包含搜索结果的表格数据。

1 个答案:

答案 0 :(得分:0)

尝试:

[HttpPost]
public ActionResult Index(string FNWtodo, string SearchInput)
{
     // all code to load viewmodels to list

    return View(lstAccountVM);
}


public ActionResult Index()
{
    return View();
}

您的表单@using (Html.BeginForm("Index", "Home"))会将POST提交回控制器中的Index操作。您只需要使用捕获[HttpPost]的索引操作,它将返回Index视图,但会返回您填充的模型。