如何提交表单并加载带有结果的视图

时间:2015-06-28 12:56:40

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

如何提交表单并在新视图中加载请求中的结果。

我有以下路线

    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>

问题是默认索引操作总是在表单提交上运行,除非我完全删除默认路由,但我需要最初使用我的表单加载索引。如何在表单提交中触发我的新操作?

0 个答案:

没有答案