gpt4 book ai didi

asp.net-mvc - HTML 表单上 ASP.NET MVC 中的 PUT 或 DELETE 动词

转载 作者:行者123 更新时间:2023-12-02 01:36:01 25 4
gpt4 key购买 nike

我有一个简单的用户注册表单,有两个字段,一个用于用户名,另一个用于密码。我有一个名为 UserController 的 Controller ,它具有以下两个操作:

[HttpGet]
public ActionResult Register()
{
return View();
}

[HttpPut]
public ActionResult Register(string username, string password)
{
// Registering user
return View();
}

我使用 HTTP Put 使我的网站 RESTful(用于插入的 PUT 动词)。但是,当我提交表单时,我收到 404 错误。这是我的表单的 HTML:

<form action='@Url.Action("Register", "User")' method="post">
<div class='field'>
<label for='username'>
Username:
</label>
<input type='text' id='username' name='username' maxlength='100' />
</div>
<div class='field'>
<label for='password'>
Password:
</label>
<input type='password' id='password' name='password' maxlength='50' />
</div>
</form>

我在这里想念什么?怎么了?

最佳答案

由于这里没有人真正回答这个问题,我将添加我的 .02

MVC 将以下字段添加到 html 表单(例如在使用 Html.BeginForm() 时使用)来支持此操作。尽管 Html5 实际上不支持 HttpPut 和 HttpDelete(它们曾经一度存在,然后从规范草案中删除),但当使用以下表单字段发布时,MVC 的服务器库会将请求正确路由到 HttpDelete 或 HttpPut 方法您的 HttpPost 请求:


@using (Html.BeginForm("SomeAction"){
@Html.HttpMethodOverride(HttpVerbs.Delete)
}

关于asp.net-mvc - HTML 表单上 ASP.NET MVC 中的 PUT 或 DELETE 动词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8182620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com