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

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 在HTML表单上的ASP.NET MVC中的PUT或DELETE动词前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个简单的用户注册表,有两个字段,一个用于用户名,另一个用于密码.我有一个名为UserController的控制器,它具有以下两个操作:
[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())来支持这一点.
即使HttpPut和HttpDelete实际上并不支持Html5(他们在某一点,然后从草案规范中删除),MVC的服务器lib将正确路由请求到您的HttpDelete或HttpPut方法,当下列表单域被发布与您的HttpPost请求:

@using (Html.BeginForm("SomeAction"){ 
   @Html.HttpMethodOverride(HttpVerbs.Delete)
}
原文链接:https://www.f2er.com/aspnet/250258.html

猜你在找的asp.Net相关文章