我正在尝试在.cshtml
视图中打印自定义属性,我正在阅读此主题:asp.net mvc custom attributes
这很简单。
我的自定义属性
public class TitleAttribute : ActionFilterAttribute
{
protected string description;
public TitleAttribute(String descritionIn)
{
this.description = descritionIn;
}
public String Description
{
get
{
return this.description;
}
}
}
但是此属性可以在不同的控制器中使用,并在共享布局中打印此值。
的HomeController
[Title("Start Page")]
public ActionResult Index()
{
return View();
}
RequestController
[Title("This page is releated with request")]
public ActionResult Index()
{
return View();
}
是否可以在不使用Reflection
的情况下打印自定义属性值?
答案 0 :(得分:1)
如果我明白你的意思,你需要修改你的属性,如:
public class TitleAttribute : ActionFilterAttribute
{
protected string description;
public TitleAttribute(String descritionIn)
{
this.description = descritionIn;
}
public String Description
{
get
{
return this.description;
}
}
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
filterContext.Controller.ViewBag.Title = description;
}
}