Мое решение содержит проект библиотеки классов как бизнес-библиотеку, и я написал в нем настраиваемый фильтр действий.MVC - Передача пользовательских параметров в настраиваемый фильтр действий
public class SampleFilterAttribute : ActionFilterAttribute, IExceptionFilter
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
var parameters =filterContext.ActionDescriptor.GetParameters();
var currentAction = filterContext.ActionDescriptor;
}
Мое требование теперь передать некоторые другие параметры OnActionExecuted функции (например, имя пользователя, описание, которое я сохраню в базе данных).
Мои действия контроллера в проект приложения MVC выглядит следующим образом:
[SampleFilterAttribute]
public ActionResult PurchaseRequisition(int? ID)
{
Так как я могу передать некоторые пользовательские параметры OnActionExecuted (Действие фильтра)?
Благодаря Лин, хотя я могу получить доступ данные теперь используют Tempdata [], но я не могу использовать filterContext.HttpContext .User.Identity.Name или filterContext.HttpContext.Timestamp, может быть, потому, что я пишу этот код в отдельном проекте класса. Какие-либо предложения? – hotcoder
Если у вас несколько уровней в вашем решении, я предлагаю вам добавить атрибут пользовательского действия для вашего веб-уровня. Создайте вызов папки «Помощник», затем добавьте все настраиваемые атрибуты и расширения в эту папку. Прямо должно быть аналогично контроллеру и виду. – Lin