在ASP.NET MVC中有没有办法通过代码枚举控制器并得到他们的名字?
例:
AccountController
HomeController
PersonController
Run Code Online (Sandbox Code Playgroud)
会给我一个列表,如:
Account, Home, Person
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个自动站点地图ActionResult,它输出一个有效的sitemap.xml文件.实际生成的文件不是问题,但我似乎无法弄清楚如何填充系统中的URL列表.这是我到目前为止的代码:
public ContentResult Sitemap()
{
XNamespace xmlns = "http://www.sitemaps.org/schemas/sitemap/0.9";
XElement root = new XElement(xmlns + "urlset");
//some kind of foreach here to get the loc variable for all URLs in the site
//for each URL in the collection, add it to the root element as here
//root.Add(
// new XElement("url",
// new XElement("loc", "http://google.com"),
// new XElement("changefreq", "daily")));
using (MemoryStream ms = new MemoryStream())
{
using (StreamWriter writer = new StreamWriter(ms, Encoding.UTF8))
{
root.Save(writer);
}
return Content(Encoding.UTF8.GetString(ms.ToArray()), "text/xml", Encoding.UTF8);
} …Run Code Online (Sandbox Code Playgroud) 我有一个控制器名称列表,然后将列出给定控制器中的所有操作(名称,GUID).
此处找到的所有控制器列表.
我还在阅读列出控制器上具有特定属性的所有操作,这些属性与我的目的相匹配,因为我还需要具有特定属性的操作.但我只有所选控制器的名称/ GUID,而不是对象本身.
我的场景:用户选择一个控制器(级联下拉列表),然后选择来自该控制器的操作来配置一些访问(和链接).因此,我只需要具有自定义属性的操作.