SORU
29 ŞUBAT 2012, ÇARŞAMBA


Nasıl ASP.NET Web API Url oluşturmak için?

ASP.NET MVC, @Url.Action eylemleri için var. /Apı/denetleyicisine rota olan @Url.Api benzer gibi bir şey var mı?

CEVAP
29 ŞUBAT 2012, ÇARŞAMBA


ApiController apı denetleyicileri için URL oluşturmak için olanak sağlayan 15* *tür özellik Url çağırdı.

Örnek:

public class ValuesController : ApiController
{
    // GET /api/values
    public IEnumerable<string> Get()
    {
        // returns /api/values/123
        string url = Url.Route("DefaultApi", new { controller = "values", id = "123" });
        return new string[] { "value1", "value2" };
    }

    // GET /api/values/5
    public string Get(int id)
    {
        return "value";
    }

    ...
}

Bu UrlHelper de standart denetleyicileri görünümleri de yok.


GÜNCELLEME:

Ve bir ApiController dışında yönlendirme yapmak için aşağıdakileri yapabilirsiniz:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        string url = Url.RouteUrl(
            "DefaultApi", 
            new { httproute = "", controller = "values", id = "123" }
        );
        return View();
    }
}

ya da içinde bir görünüm:

<script type="text/javascript">
    var url = '@Url.RouteUrl("DefaultApi", new { httproute = "", controller = "values", id = "123" })';
    $.ajax({
       url: url,
       type: 'GET',
       success: function(result) {
           // ...
       }
    });
</script>

Önemli olan httproute = "" yol token dikkat edin.

Açıkçası bu Apı rotanızı DefaultApi Global.asax RegisterRoutes yöntemi denir varsayılmıştır

routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{controller}/{id}",
    defaults: new { id = RouteParameter.Optional }
);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Branboy3

    Branboy3

    12 AĞUSTOS 2012
  • InfoPuppet

    InfoPuppet

    15 Kasım 2011
  • williamfitzsimmons

    williamfitzs

    14 Mart 2008