2013-10-04 9 views
5

मैंने देखा है कि वेब एपीआई को सहायता पृष्ठ में किसी भी विशिष्ट क्रम (या कम से कम एपीआई नाम) में ऑर्डर नहीं मिलता है। यदि संभव हो तो मैं नाम श्रेणी से ऑर्डर करना चाहता हूं। ToLookup पर ऑर्डरबी का उपयोग करने में असमर्थ।एएसपी.नेट वेब एपीआई कस्टमाइज़ करें पृष्ठ

@{ 

// 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> 

उत्तर

4

पाश में आदेश::

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

ब्रावो, बिल्कुल काम किया। धन्यवाद। – xtrip

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

ऊपर जवाब लगभग सही यह सिर्फ controllername बंद की जरूरत अंत पर है यहाँ कोड यह डिफ़ॉल्ट रूप से साथ आता है।

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

मैंने इसका परीक्षण किया और अब सभी काम करता है।

संबंधित मुद्दे