从不同的控制器在视图中打印自定义属性
Print custom attribute in view from different controllers
我正在尝试在 .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;
}
}
}
但是这个属性可以在不同的控制器中使用,并在共享布局中打印这个值。
家庭控制器
[Title("Start Page")]
public ActionResult Index()
{
return View();
}
RequestController
[Title("This page is releated with request")]
public ActionResult Index()
{
return View();
}
是否可以在不使用的情况下打印自定义属性值Reflection
?
如果我明白你的意思,你需要将你的属性修改为:
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;
}
}
我正在尝试在 .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;
}
}
}
但是这个属性可以在不同的控制器中使用,并在共享布局中打印这个值。
家庭控制器
[Title("Start Page")]
public ActionResult Index()
{
return View();
}
RequestController
[Title("This page is releated with request")]
public ActionResult Index()
{
return View();
}
是否可以在不使用的情况下打印自定义属性值Reflection
?
如果我明白你的意思,你需要将你的属性修改为:
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;
}
}