C# 将数据从网页表单发送到自托管api

C# 将数据从网页表单发送到自托管api,c#,html,asp.net-web-api,owin,C#,Html,Asp.net Web Api,Owin,我有一个自owin自托管API和一个简单的html站点,我想从中向自托管API提交表单数据。我目前正在本地主机上测试webapi,该站点也通过IIS托管在本地主机上。我不确定我需要在html或C代码中更改什么才能使其正常工作。以下是我所拥有的基本知识: public class TestController : ApiController { public TestController() {} [HttpGet] public IHttpActionResult()

我有一个自owin自托管API和一个简单的html站点,我想从中向自托管API提交表单数据。我目前正在本地主机上测试webapi,该站点也通过IIS托管在本地主机上。我不确定我需要在html或C代码中更改什么才能使其正常工作。以下是我所拥有的基本知识:

public class TestController : ApiController
{
    public TestController() {}

    [HttpGet]
    public IHttpActionResult() 
    {
        //do stuff
        return OK();
    }

    [HttpPost]
    //POST localhost:9400/api/Test
    public IHttpActionResult Post([FromBody]FormDatacollection name) 
    {
        //do stuff
        return OK();
    }
}
这里是一个非常简单的html网站:

<html>
    <head>
        <title>
            My Test Page
        </title>
    </head>
    <body>
        <form action="localhost:9400/api/test" method="post">
            <input type="text" name="name"><br>
        </form>
    </body>
</html>

我想做的事情可能吗?如果可能,我该怎么做

如果不做一些更改,它将无法工作,您的RESTAPI希望数据以json的形式发送进来。首先,我强烈建议您获取一份副本,然后您就可以确切地了解您的站点和服务的内容。您可能会发现无法在服务中调试,因为服务接收的内容与控制器中的任何签名都不匹配,因此框架本身正在处理无效请求。该框架将根据http谓词和方法参数将请求与方法相匹配


为了让它工作,请搜索将HTML表单数据发送到rest API,在本网站和其他地方会有很多结果。

如果没有一些更改,它将无法工作,您的rest API希望数据以json的形式发送。首先,我强烈建议您获取一份副本,然后您就可以确切地了解您的站点和服务的内容。您可能会发现无法在服务中调试,因为服务接收的内容与控制器中的任何签名都不匹配,因此框架本身正在处理无效请求。该框架将根据http谓词和方法参数将请求与方法相匹配

为了让它工作起来,搜索一下将HTML表单数据发送到RESTAPI,在这个站点和其他地方都会有很多结果

public void Configuration(IAppBuilder appBuiler) 
{
    HttpConfiguration config = new HttpConfiguration();
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

        appBuilder.UseWebApi(config);
}