' HttpRequestMessage'不包含'表格'的定义

时间:2016-01-21 20:52:54

标签: asp.net asp.net-mvc asp.net-web-api asp.net-core-mvc

ASP.NET MVC 6(DNX 4.5.1)。

在我的PUT方法中。

public class MyController : ApiController
{
    .......
// UPDATE
    [Microsoft.AspNet.Mvc.HttpPut]
    public void Update()
    {
        try
        {
            var item = new Item()
            {
                UserName = Request.Form["UserName"]
            };
            _itemRespository.Update(item);
        }
        catch (Exception e)
        {
            Debug.WriteLine(e.Message);
        }
    }

我得到了什么:

  

错误CS1061' HttpRequestMessage'不包含'表格'的定义没有延伸方式'表格'接受类型' HttpRequestMessage'的第一个参数。可以找到(您是否缺少using指令或程序集引用?)MyProject.DNX 4.5.1

有一个similar question,但我没有帮助我。

修改

该链接使用POST将数据传递给方法。他在方法中通过string value。换句话说,他事先知道价值。好吧,在我的情况下,我使用jqgrid来编辑我的数据。单击“提交”按钮后,我认为编辑的数据来自Request Form。我事先还不知道。

2 个答案:

答案 0 :(得分:0)

以下是如何将动态表单内容传递给Web api方法的两个很好的起点。

Sending HTML Form Data in ASP.NET Web API: Form-urlencoded Data

Stackoverflow question - How to get POST data in WebAPI?

因此,您的问题应该重新定义为如何使用动态表单内容和Web API框架。它与您正在使用的Web方法(POST,PUT,DELETE,GET)无关。

答案 1 :(得分:-2)

Microsoft.AspNet.Mvc.HttpPut

ASP.NET MVC 6(DNX)并不支持它。除非我们使用

System.Web.Http.HttpPut