如何提交表单并在新视图中加载请求中的结果。
我有以下路线
routes.MapRoute(
name: "Default",
url: "{controller}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "GetResults",
url: "{gueryString}",
defaults: new { controller = "Result", action = "ShowResults", gueryString = "" }
);
我有一个索引视图,其中包含我要提交的表单的部分视图。
@Html.Partial("../Result/SearchForm")
表单本身是
@model CodeCompareUk.Models.SearchSubmitModel
@using (Html.BeginForm("ShowResults", "Result", method: FormMethod.Post))
{
<form role="form">
<div class="input-group input-group-lg">
@Html.TextBoxFor(m => m.searchString, new { @class = "form-control" })
<a href="javascript:$('form').submit();" class="input-group-addon">
<i class="fa fa-search"></i>
</a>
</div>
</form>
}
类ResultController中的新动作本身
public ActionResult ShowResults(SearchSubmitModel model)
{
RequestExternalComparisonData.ValidateSearchString(model);
ViewBag.GameComparisonList = RequestExternalComparisonData.DoSearch(model.searchString);
return View();
}
我的索引视图
<body>
<div class="section">
<form>
@Html.Partial("../Result/SearchForm")
</form>
</div>
</body>
问题是默认索引操作总是在表单提交上运行,除非我完全删除默认路由,但我需要最初使用我的表单加载索引。如何在表单提交中触发我的新操作?