تغيير قيمة ActionExecutingContext في سمة مرشح مخصص
-
18-09-2019 - |
سؤال
لدي سمة مرشح مخصصة وأريد استخدامها على بعض الإجراءات التدريبية للنظر في البيانات التي تتم محاولتها وتعيين القيم حيث تنتهك بعض القواعد.
وبالتالي؛
public class SpecialActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
foreach (string value in filterContext.Controller.ValueProvider.Keys)
{
string h = filterContext.Controller.ValueProvider[value].AttemptedValue;
if (h == "1")
{
//set the value of the key to be say "one".
}
}
base.OnActionExecuting(filterContext);
}
}
هل هذا ممكن؟
المحلول
يمكنك فحص أو تعديل المعلمات التي سيتم تمريرها إلى الإجراء - انظر ActionExecutingContext.actionparameters. الممتلكات لهذا. هذا حل عام للغاية، رغم ذلك. إذا كنت تستطيع تقديم سياق أكثر قليلا حول ما تحاول القيام به بالضبط، فقد نكون قادرين على تقديم اقتراحات أكثر صلة.
لا تنتمي إلى StackOverflow