我第一次使用 MVC4,我正在尝试创建一个 WebService。但是,当我尝试这样做时:http://localhost:****/api/mycontroller/?number=1&id=7
我无法从 URL 中检索数据。
我怎样才能得到这两个变量?
Request.QueryString["ParameterName"]
导致错误,它无法识别此功能。
谢谢。
我第一次使用 MVC4,我正在尝试创建一个 WebService。但是,当我尝试这样做时:http://localhost:****/api/mycontroller/?number=1&id=7
我无法从 URL 中检索数据。
我怎样才能得到这两个变量?
Request.QueryString["ParameterName"]
导致错误,它无法识别此功能。
谢谢。
我假设您指的是允许我们构建 RESTful 应用程序的 WebApi。如果是,那么Request
在 an 中甚至没有对象,ApiController
因为System.Web.Mvc
没有导入。Controller 方法在 ApiController 中的工作方式与 MVC 控制器的不同之处在于 api 方法被用作或调用为 HTTP 方法。因此,如果您有:
[HttpGet]
public int Count(int id)
{
return 50;
}
public string Get(int id)
{
return "value";
}
默认情况下,如果不添加自定义路由,这将不起作用,因为框架将这两种方法视为相同。关于你的问题,如果你想在 GET 中捕获查询字符串而不是默认值Get(int id)
,你应该将它们定义为 Dave A 提到的方法参数,如下所示:
public string GetByNumberAndId(int number, int id) {
return "somevalue";
}
您可以像现在一样调用该方法:
http://localhost:****/api/mycontroller/?number=1&id=7
您可以在其官方网站上阅读有关 WebApi 的更多信息。这个教程可以给你一个很好的推动,虽然它是在一年前写的,但它仍然是一个很好的资源。