因此,最近,我提出了一种动态构建导航条菜单的方法,其中Controller (及其索引ActionMethod)将在每个页面顶部的水平栏中列出(通过Site.Master),但也基于用户指定的角色。列出的每个控制器还将列出(在垂直下拉列表中)用户可用的ActionMethods。
请参阅我为为ASP.NET MVC创建扩展控制器类编写的代码,它解决了上述问题。
我意识到,我还想为每个Controller自动创建一个默认索引页,其中列出了所有可用的ActionMethods和每个ActionMethod的简短的1或2句描述,但我正在考虑如何将描述附加到ActionMethod。
我的假设是我需要做三件事:
(1)创建我自己的属性,例如,描述和装饰每个控制器中的每个ActionMethod,如下所示:
[Authorize(Roles="Admin")]
public class SomeController : ExtController
{
[Description("This method adjusts all of your widgets making them better.")]
public ActionResult TweakWidgets()
{
return View();
}
}(2)在我的基类( ExtController )中创建一个ActionResult公共ActionResult索引()方法,它将被继承ExtController的每个类使用,以显示该用户可以使用的ActionMethods列表及其描述。
(3)在视图/共享中创建一个Index.aspx视图,以构建这样一个页面。
这是一个明智的做法吗?有更好的方法吗?
发布于 2010-06-21 17:38:04
似乎是个合理的方法。
但是,在DescriptionAttribute中已经有一个System.ComponentModel类,您可能可以利用它。在手册页上也有一些关于该属性的示例代码。
https://stackoverflow.com/questions/3086906
复制相似问题