Używamy wirtualnej metody OnException w BaseController do rejestrowania naszego wyjątku.Uzyskaj parametry akcji i działania w Controller.OnException
Ale w jaki sposób możemy uzyskać działanie kontrolera i parametry, z których powstał wyjątek?
Używamy wirtualnej metody OnException w BaseController do rejestrowania naszego wyjątku.Uzyskaj parametry akcji i działania w Controller.OnException
Ale w jaki sposób możemy uzyskać działanie kontrolera i parametry, z których powstał wyjątek?
Możesz uzyskać wszystkie te dane z obiektu ExceptionContext
.
Na przykład za pomocą tego kodu można uzyskać kontrolera, działania i wszystkie inne parametry trasy:
context.RouteData.Values
Używając tego kodu można uzyskać parametry ciągu zapytania:
context.HttpContext.Request.QueryString
I Finnaly parametry formularza:
context.HttpContext.Request.Form
protected override void OnException(ExceptionContext filterContext)
{
string action = filterContext.RouteData.Values["action"].ToString();
string controller = filterContext.RouteData.Values["controller"].ToString();
}
Czy można uzyskać parametry po przeanalizowaniu ich przez ModelBinding? – sternr
ModelBinding nie powinien zmieniać tych danych. Tak, to jest możliwe – Egor4eg
Co miałem na myśli to, że nie chcę Request.Querystring \ form danych, chcę go w formie Model - jak mogę go zdobyć? – sternr