在我的索引视图中,我有一个搜索栏和一个按钮。我想从搜索栏中获取值并从Home Controller调用一个名为SearchResults的新方法,并从搜索栏传入值。 SearchResults woudl然后返回一个带有模型的新视图,我可以显示查询检索到的数据。
我到处寻找,找不到满意的答案。我已经尝试过使用jquery但它似乎不起作用,因为它只能让我在同一页面上,我需要返回一个新的视图。我在索引中没有模型,因为我只需要搜索栏中的信息就可以了。
答案 0 :(得分:1)
您可以使用以下代码。因为,您没有提供任何示例代码,我假设您有一个搜索文本框的文本类型的输入元素和搜索按钮的类型按钮的输入元素。
在下面的代码示例中,
txtSearch
是用于输入搜索字符串btnSearch
是用于调用特定控制器/操作的按钮的ID searchText
作为搜索文本框的值(请注意,查询字符串参数searchText应与您正在调用的Action中的参数名称相同),然后返回您想要的任何合适的视图只需在View
方法中指定其路径。<强>标记强>
<input type="text" id="txtSearch" name="txtSearch" />
<input type="button" value="Search" id="btnSearch"
onclick="location.href='@Url.Action("ActionName", "ControllerName")?searchText=' + document.getElementById('txtSearch').value; return false;" />
行动C#代码
public ActionResult Search(string searchText = "")
{
//TO DO???? do your search processing
return View("~/Views/Folder1/Folder2/SomeView.cshtml")
}
答案 1 :(得分:0)
您需要POST到控制器上的操作,您可以通过设置表单操作和方法来执行此操作。
composer install
确保表单字段的名称与方法中的参数相同。