POST中的Web API模型绑定问题

时间:2012-09-13 22:08:27

标签: binding model asp.net-web-api

我是Web API的新手,这对我来说真是令人费解。

以下是模型:

public class Model
{
   public string firstname { get; set; }
   public string lastname { get; set; }
}

这是控制器:

public class TestController : ApiController
{
    [HttpPost]
    public void Test(Model request)
    {

    }
}

我正在使用html表单发布,它会点击控制器:

<html>
<head>
    <title></title>
</head>
<body>
    <form action="/Test" method="post">
        <input type="text" name="​firstname" value="test1" />
        <input type="text" name="lastname" value="test2" />
        <input type="submit" value="Submit" />
    </form>
</body>
</html>

但是,当我调试到控制器时,模型对象的firstname=nulllastname正确显示。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

所以这是我以前见过的最奇怪的事情。使用此作为您的观点:

<html>
<head>
    <title></title>
</head>
<body>
    <form action="/Home" method="post">
        @*<input type="text" name="​firstname" value="test1" />*@
        <input type="text" name="firstname" value="test1" />
        <input type="text" name="lastname" value="test2" />

        <input type="submit" value="Submit" />
    </form>
</body>
</html>

修改 不确定你是否这样做但基本上你的代码是name="&#8203;firstname"。不确定你是否打算在那里添加它以惹恼别人,但你有一个特殊的角色