Asp.net web api 将动作链接与Web Api控制器一起使用
在WebApi控制器上调用操作时,如何使用ActionLinkAsp.net web api 将动作链接与Web Api控制器一起使用,asp.net-web-api,routing,actionlink,Asp.net Web Api,Routing,Actionlink,在WebApi控制器上调用操作时,如何使用ActionLink public class RequestController : ApiController { [ActionName("CreateAction")] [ResponseType(typeof(Request))] public async Task<IHttpActionResult> PostRequest(Request request) { if (!Mode
public class RequestController : ApiController
{
[ActionName("CreateAction")]
[ResponseType(typeof(Request))]
public async Task<IHttpActionResult> PostRequest(Request request)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.Requests.Add(request);
await db.SaveChangesAsync();
return CreatedAtRoute("DefaultApi", new { id = request.Id }, request);
}
}
公共类请求控制器:ApiController
{
[ActionName(“CreateAction”)]
[响应类型(请求类型))]
公共异步任务PostRequest(请求)
{
如果(!ModelState.IsValid)
{
返回请求(ModelState);
}
db.Requests.Add(请求);
等待db.saveChangesSync();
返回CreatedAtRoute(“DefaultApi”,新的{id=request.id},request);
}
}
在我的布局页面中,我可以这样做吗
Jawahar您可以使用标准Url helper属性生成指向API控制器的链接。以下链接将指向Albums控制器并传递值为3的id参数:
@Url.RouteUrl("DefaultApi", new { httproute=true, controller="Albums", id=3})
请参考此链接
web api中没有视图。您不能这样做,这不是WebAPI的设计目的。