这个项目在ASP.NET MVC中是否可行?

时间:2011-02-16 10:52:16

标签: c# .net asp.net asp.net-mvc

我是Stack Overflow和ASP.NET MVC的新手。

我被要求做一个我想要使用ASP.NET MVC的项目,但是我有一些问题包围着它,我希望你们中的一些能让我朝着正确的方向前进。

该项目是一种搜索门户。在每个页面上都有一个下拉框,您可以在其中基本选择要搜索的数据集(基于书籍)。在下拉列表中是您要搜索的图书的名称。

当然还有一个搜索字段。这两个对象在每个页面上,并且在所有页面上具有相同的功能,我无法让这两个对象进行通信。

我在单独的偏见视图中有这两个,并希望为搜索表单字段生成一个这样的动作:

domain.com/{bookname}/search/{searchterm}:这是从下拉列表和搜索框创建的内容。

但我能否以某种方式在searchfields partialview中执行此操作,或者我是否必须在每个控制器中获取这些值?

我希望这是有道理的。

2 个答案:

答案 0 :(得分:0)

我已经使用ASP.NET MVC在我的一个项目上实现了类似的搜索要求。但是,我在单个部分视图中进行了下拉和搜索。

然后,我使用Javascript来获取所选值,并将用户重定向到带有域domain.com/{criteria}/search/{searchWord}的URL。

这种方式我不得不使用单个控制器进行搜索,只需一个视图即可查看搜索结果。

答案 1 :(得分:0)

使用您的下拉列表和文本框创建一个局部视图,使用BeginForm帮助程序:

<% using(Html.BeginForm("Index", "Search")) %>
<% { %>
    <%= Html.DropDownList("BookNames") %>
    <%= Html.TextBox("SearchTerm") %>
<% } %>

然后在SearchController的Index操作中,您应该能够从表单集合中获取值或使用下拉列表和文本框的id。

public ActionResult Index(FormCollection frmCollection)
{
  // ...
  // also you can redirect to another action/controller if you needed
  // return RedirectToAction("...", "...");
}

public ActionResult Index(int bookNames, string searchTerm)
{
  // ...
  // also you can redirect to another action/controller if you needed
  // return RedirectToAction("...", "...");
}

希望这有帮助。