C# web api 2帮助页中的排序控制器
可以在“帮助”页面中对控制器进行排序吗?我不想按名称排序,但我想选择在帮助页面中首先显示哪个控制器C# web api 2帮助页中的排序控制器,c#,asp.net-web-api2,C#,Asp.net Web Api2,可以在“帮助”页面中对控制器进行排序吗?我不想按名称排序,但我想选择在帮助页面中首先显示哪个控制器 感谢您的帮助请查看下面的链接。您可以通过转到Areas\HelpPage\Views\help来修改帮助页面 要修改初始帮助页面,可以相应地更改Index.cshtml文件中的代码 所以,这已经有一百万年的历史了,但如果对任何人都有用的话,这似乎是可行的: 创建自定义属性 public class ControllerHelpIndexAttribute : Attribute { pub
感谢您的帮助请查看下面的链接。您可以通过转到Areas\HelpPage\Views\help来修改帮助页面 要修改初始帮助页面,可以相应地更改Index.cshtml文件中的代码
所以,这已经有一百万年的历史了,但如果对任何人都有用的话,这似乎是可行的:
public class ControllerHelpIndexAttribute : Attribute
{
public ControllerHelpIndexAttribute(int index)
{
Index = index;
}
public int Index { get; set; }
}
[ControllerHelpIndex(2)]
// Group APIs by controller
ILookup<HttpControllerDescriptor, ApiDescription> apiGroups = Model
.OrderBy(m => m.ActionDescriptor.ControllerDescriptor.GetCustomAttributes<ControllerHelpIndexAttribute>().FirstOrDefault()!=null?m.ActionDescriptor.ControllerDescriptor.GetCustomAttributes<ControllerHelpIndexAttribute>().FirstOrDefault().Index:-1)
.ToLookup(api => api.ActionDescriptor.ControllerDescriptor);
//按控制器对API进行分组
ILookup apiGroups=模型
.OrderBy(m=>m.ActionDescriptor.ControllerDescriptor.GetCustomAttributes().FirstOrDefault()!=null?m.ActionDescriptor.ControllerDescriptor.GetCustomAttributes().FirstOrDefault()。索引:-1)
.ToLookup(api=>api.ActionDescriptor.ControllerDescriptor);
希望有任何用处。感谢您的链接,但如果您不回答带有无用信息的问题,这将非常有用。首先,这个博客是针对WebAPI1的,而不是版本2,而且这个博客上没有任何信息可以回答我的问题。当我在这个网站上发布一个新问题时,我正在等待遇到同样问题的人回答我,我以前在谷歌上搜索过答案。谢谢,我从来没有尝试过使用手动“排序”来排序控制器/端点,但可以肯定的是,您必须查看文件\Areas\HelpPage\Views\Help\Index.cshtml并调整
var-apiGroups=Model.ToLookup(api=>api.ActionDescriptor.ControllerDescriptor)代码>通常我在这里添加了按名称对控制器和端点进行排序的部分。也许您需要向所有ApiDescriptor添加一个自定义属性,并分配一个int值,然后按该数字排序。不管怎么说,Swashback比这个Ms帮助页面要好得多,如果我是你的话,我肯定会变成Swashback。