0

我有一个在控制器中具有搜索功能的页面,效果很好

[HttpPost]
public virtual ActionResult Search(SearchModel model)
{
    ...adds to IEnumerable and such
    return View(model);
}

我的问题是我有另一个带有搜索框的页面,我需要将其重定向到与上面相同的视图。(URL 中的参数不是一个选项)

    @using (Html.BeginForm("Search", "Home", FormMethod.Post, null))
    {
       @Html.TextBoxFor(t => t.SearchModel) 
       <input.....
    } 

但它没有加载正确的 URL,它只是将它添加到当前的 URL。因此,它不是将 example.com/Home/Search 添加到该表单当前所在位置的末尾。因此,如果页面位于 example.com/About/SearchPage 中,则将 t.SearchModel 添加到 About/Searchpage

编辑:我有两个不同的控制器和视图,ControllerA 和 ViewA 工作正常,它带回了搜索结果。我希望有输入框的 ViewB 调用 ViewA 并使用 ControllerA 搜索技术

4

1 回答 1

1

您有一个嵌套表单。这不是有效的 HTML。HTML 不允许您将一个表单放入另一个表单中。一个页面上可以有多个表单,但不能嵌套它们。

我也不确定您所说的“另一个部分”是什么意思,您是指 Razor 中的 @section 关键字吗?还是您的意思是 MVC 区域?或者是其他东西?

于 2012-10-11T20:51:31.207 回答