使用Html.BeginRouteForm呈现自定义路线

时间:2017-07-26 10:28:22

标签: c# asp.net-mvc-4 routes asp.net-mvc-routing html.beginform

我正在以下列方式使用自定义路由映射:

    context.MapRoute(
        "CustomRoute",
        "Area/{controller}/{id}",
        new { controller = "Task", action = "Index", id = UrlParameter.Optional },
        new { id = @"\d+", httpMethod = new HttpMethodConstraint("GET") }
    );

使用上面的路由我将跳过动作名称,通过斜杠/传递参数,所以我希望以下列方式获得URL: domain.com/Area/Task/982

手动输入URL效果很好。现在尝试通过@Html.BeginRouteForm帮助程序执行相同操作:

    @using (Html.BeginRouteForm("CustomRoute", new { id = Model.ID }, FormMethod.Get))
    {
      @Html.TextBoxFor(m => m.ID)
      <button class="btn btn-default btn-sm" type="submit">Get data</button>
    }

提交表单时,它会以某种方式呈现网址:domain.com/Area/Task?ID=982

上面缺少什么?如何实现所需的自定义路线?

0 个答案:

没有答案