في ASP.NET MVC ، كيفية تحديد التسلسل الذي يتم فحص/تطبيق سماتي المخصصة؟

StackOverflow https://stackoverflow.com/questions/815795

سؤال

أقوم حاليًا بالتحقيق في إمكانية استخدام سمات مخصصة مستمدة من ActionFilterattribute. أريد أن أنجز بعض الأشياء مع بضع سمات. الشيء هو أنني أريد التأكد من أن إحدى السمات تدخل في اللعب أولاً ، وليس في أي تسلسل عشوائي.

مثال:

public class Feature1Attrubute : ActionFilterAttribute
{
    /* ... */
}

public class Feature2Attrubute : ActionFilterAttribute
{
    /* ... */
}

public class MyController : Controller
{
    [Feature1, Feature2]
    public ActionResult MyAction ()
    {
        /* ... */
    }
}

هل يتم تطبيق السمات في التسلسل الذي ذكروه في زخرفة الأسلوب؟

إذا لم يكن الأمر كذلك ، فهل هناك طريقة لتحديد تسلسل معين لمجموعة من السمات [المخصصة]؟

هل كانت مفيدة؟

المحلول

فئة القاعدة ActionFilterAttribute يسمى خاصية Order. هذا ما تبحث عنه.

public class MyController : Controller
{
    [Feature1(Order = 1), Feature2(Order = 2)]
    public ActionResult MyAction ()
    {
        /* ... */
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top