Моя цель - создать настраиваемый атрибут, такой как System.ComponentModel.DataAnnotations.Display, который позволяет мне передать параметр.Передача пользовательского параметра в пользовательский атрибут - ASP.NET MVC
Пример .: В System.ComponentModel.DataAnnotations.Display я могу передать значение параметра Name
[Display(Name = "PropertyName")]
public int Property { get; set; }
Я хочу сделать то же самое, но в контроллерах и действий, как ниже
[CustomDisplay(Name = "Controller name")]
public class HomeController : Controller
, а затем введите элемент ViewBag или ViewData с его значением.
Может кто-нибудь помочь мне с этим?
Спасибо.
Вы должны отражать в типе Controller, используя ['GetCustomAttributes'] (https://msdn.microsoft.com/en-us/library/dwc6ew1d.aspx), используйте' ViewContext.Controller' Refer [this] (http://stackoverflow.com /вопрос s/19412483/mvc3-can-you-give-controller-a-display-name) –
Пользовательские атрибуты не позволяют хранить данные в ViewBag или ViewData –
См. [этот ответ] (http://stackoverflow.com/questions/2656189/how -do-i-read-an-attribute-on-a-class-at-runtime), а затем назначить результат «ViewBag» –