Simple controller which takes POST is not found
Web.API is a little bit picky when you want to post "simple" values.
You need to use the [FromBody]
attribute to signal that the value is not coming from the URL but from the posted data:
[HttpPost]
public string Test([FromBody] string output)
{
return output;
}
With this change you won't get 404 anymore but output
will be always null, because Web.Api requries the posted values in special format (look for the Sending Simple Types section):
Second, the client needs to send the value with the following format:
=value
Specifically, the name portion of the name/value pair must be empty for a simple type. Not >all browsers support this for HTML forms, but you create this format in script...
So recommend that you should create a model type:
public class MyModel
{
public string Output { get; set; }
}
[HttpPost]
public string Test(MyModel model)
{
return model.Output;
}
Then it will work with your sample froms without modifing your views.