Asp.net web api 将动作链接与Web Api控制器一起使用

Asp.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

在WebApi控制器上调用操作时,如何使用ActionLink

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);
}
}
在我的布局页面中,我可以这样做吗
  • @ActionLink(“Request”、“CreateAction”、“api/Request”、新的{area=”“},null)

  • Jawahar

    您可以使用标准Url helper属性生成指向API控制器的链接。以下链接将指向Albums控制器并传递值为3的id参数:

    @Url.RouteUrl("DefaultApi", new { httproute=true, controller="Albums", id=3})
    
    请参考此链接

    web api中没有视图。您不能这样做,这不是WebAPI的设计目的。