Asp.net 从客户端发送帖子时,web服务没有响应

Asp.net 从客户端发送帖子时,web服务没有响应,asp.net,asp.net-web-api,Asp.net,Asp.net Web Api,我的web服务使用asp.net web api。目前我的api控制器没有做任何事情,因为我想检查帖子,看看我在这里使用的是什么 您会注意到我正在向localhost发布。这是因为目前我只在调试器中运行服务应用程序,以便通过手表查看帖子 我的问题是,我的帖子似乎哪儿也去不了。当我从网页提交表单时,我在Post void上设置的断点永远不会被击中 我是不是误解了这是怎么回事 控制器 客户端网页 编辑 用fiddler检查,我点击submit按钮似乎什么都没做 正确引用jquery和fiddler捕

我的web服务使用asp.net web api。目前我的api控制器没有做任何事情,因为我想检查帖子,看看我在这里使用的是什么

您会注意到我正在向localhost发布。这是因为目前我只在调试器中运行服务应用程序,以便通过手表查看帖子

我的问题是,我的帖子似乎哪儿也去不了。当我从网页提交表单时,我在Post void上设置的断点永远不会被击中

我是不是误解了这是怎么回事

控制器

客户端网页

编辑

用fiddler检查,我点击submit按钮似乎什么都没做

正确引用jquery和fiddler捕捉到了以下内容:

POST HTTP/1.1 主机:本地主机:49474 用户代理:Mozilla/5.0 Windows NT 6.1;WOW64;rv:36.0 Gecko/20100101 Firefox/36.0 接受:/ 接受语言:en-GB,en;q=0.5 接受编码:gzip,deflate DNT:1 内容类型:application/x-www-form-urlencoded;字符集=UTF-8 推荐人: 内容长度:85 来源: 连接:保持活力 Pragma:没有缓存 缓存控制:没有缓存

_apikey=abcdefghijklmnopqrstuvwxyz&_收据=1234567890&_日期=2015-03-31&_现金返还=100


然而,在我的控制器中,值仍然为null,所以这里有一些错误

首先,我没有引用正确的jquery源代码 注意:只有jquery2.1.3.min或其他您认为合适的链接才可以使用这个链接。只是比较简单

其次,我的控制器没有接受正确的类型。这就是我真正困惑的地方,因为客户端应用程序不知道我的api使用什么模型

事实证明,这只是在发布到api的客户端应用程序上镜像模型的问题。因此,考虑下面的

public class UserController : ApiController
{
    // POST api/<controller>
    public void Post([FromBody]User Value)
    {
    }
}

public class User
{
    public int ID { get; set; }
    public string Username { get; set; }
    public string EmailAddress { get; set; }
}
表单必须张贴模型的镜像,在本例中,该镜像应如下所示:

<form method="post" action="path-to-service/api/User">
    <div>
        Username: <input type="text" name="Username" /><br />
        Email Address: <input type="text" name="EmailAddress" />
    </div>
</form>

上面的ajax帖子可以正常工作,但需要进行修改,以便完全按照您的要求进行操作。通常,我只是在at if语句中加入一些错误处理,并重定向到else。

您可以使用fiddler来解决问题。我会仔细研究一下,但我真正想知道的是:我是否正确理解了这些内容?
public class UserController : ApiController
{
    // POST api/<controller>
    public void Post([FromBody]User Value)
    {
    }
}

public class User
{
    public int ID { get; set; }
    public string Username { get; set; }
    public string EmailAddress { get; set; }
}
<form method="post" action="path-to-service/api/User">
    <div>
        Username: <input type="text" name="Username" /><br />
        Email Address: <input type="text" name="EmailAddress" />
    </div>
</form>