使用Web Api Controller的Action链接

时间:2014-07-27 01:43:12

标签: 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 (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        db.Requests.Add(request);
        await db.SaveChangesAsync();

        return CreatedAtRoute("DefaultApi", new { id = request.Id }, request);
    }

}

在我的布局页面中,我可以这样做吗?     

  • @ Html.ActionLink(&#34; Request&#34;,&#34; CreateAction&#34;,&#34; api / Request&#34;,new {area =&#34;& #34;},null)
  • Jawahar

    1 个答案:

    答案 0 :(得分:2)

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

    @Url.RouteUrl("DefaultApi", new { httproute=true, controller="Albums", id=3})
    

    请参阅此链接 http://odetocode.com/blogs/scott/archive/2013/03/27/webapi-tip-5-generating-links.aspx