微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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)
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐