ASP.NET MVC 在表单 GET 上制定正确的 URL

本文关键字:URL MVC NET 表单 GET ASP | 更新日期: 2023-09-27 18:32:02

我的web-api控制器有一个GET方法,可以使用路由搜索域可用性:API/域/查询/

我想构建一个表单,将 GAT 连接到这条路径(顺便问一下,您认为在这种情况下 POST 更好吗?

这是废话/坏/错误,但这是我到目前为止所处的位置(PS 我希望表单有一个 ID)。域名 Model.Name:

@using (Html.BeginForm("query", "api/domain", FormMethod.Get, new { id = "domain-query" }))
{
    @Html.ValidationSummary(true)
    <div class="editor-field">
        @Html.EditorFor(Model => Model.Name)
        @Html.ValidationMessageFor(Model => Model.Name)
    </div>
    <p>
        <input type="submit" value="Search" />
    </p>
}

这将导致:api/domain/query?名称=测试而不是 api/域/查询/测试

感谢您的帮助,我知道这是一个菜鸟问题对不起。

ASP.NET MVC 在表单 GET 上制定正确的 URL

这里有

几件事:

1) 不要将 GET 用于表单。 除非在特殊情况下,否则应以这种方式发布 MVC 表单。

2)你的BeginForm是错误的。 您希望具有此重载的操作名称和控制器名称,但大多数情况下您不必担心它。 同样,在大多数情况下,您会想要

@using (Html.BeginForm())

这样。

您也不希望在提示输入控制器时为控制器放置"路径"。 如果控制器名称AppControllercontroller 的字符串应仅App

看看这个例子,我预计你会遇到一堆其他问题。 在你把你的大脑包裹在它应该如何工作之前,你将有很多问题需要解决。 我强烈建议您浏览"书晚餐"教程,了解如何编写MVC代码。