2013-10-04 27 views
5

Fark ettim ki, web API'sı yardım sayfasında herhangi bir sırayla (veya en azından API adıyla) sipariş verilmez. Mümkünse isim kategorisine göre sipariş vermek istiyorum. ToLookup üzerinde OrderBy çok iyi kullanılamıyor. döngüdeASP.NET Web API Özelleştirme Yardım Sayfası

@{ 

// Group APIs by controller 
    ILookup<string, ApiDescription> apiGroups = Model.ToLookup(api => api.ActionDescriptor.ControllerDescriptor.ControllerName); 
} 


<div>      
    <section> 
    @foreach (var group in apiGroups) 
    { 
     @Html.DisplayFor(m => group, "ApiGroup") 
    } 
    </section> 
</div> 

cevap

4

Sipariş:

<div>      
    <section> 
    @foreach (var group in apiGroups.OrderBy(x => x.Key)) 
    { 
     @Html.DisplayFor(m => group, "ApiGroup") 
    } 
    </section> 
</div> 
+0

Bravo, tam olarak çalıştı. Teşekkürler. – xtrip

0
ILookup<string, ApiDescription> apiGroups = Model.OrderBy(d => d.ActionDescriptor.ControllerDescriptor.ControllerName).ToLookup(api => api.ActionDescriptor.ControllerDescriptor.ControllerName); 
8

yukarıdaki cevabı neredeyse sağ sadece ucunda controllername kapalı gerekli olduğunu Burada varsayılan olarak birlikte gelir koddur.

ILookup<HttpControllerDescriptor, ApiDescription> apiGroups = Model.OrderBy(d => d.ActionDescriptor.ControllerDescriptor.ControllerName).ToLookup(api => api.ActionDescriptor.ControllerDescriptor); 

Her şeyi şimdi test ettim.

İlgili konular