加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 23:21:11 所属栏目:asp.Net 来源:网络整理
导读:我有一个简单的用户注册表,有两个字段,一个用于用户名,另一个用于密码.我有一个名为UserController的控制器,它具有以下两个操作: [HttpGet]public ActionResult Register(){ return View();}[HttpPut]public ActionResult Register(string username,string
我有一个简单的用户注册表,有两个字段,一个用于用户名,另一个用于密码.我有一个名为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)
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读