Ссылка на общий параметр URL-адреса в AuthorizeAttribute - PullRequest
2 голосов
/ 08 марта 2011

Если у моего действия есть путь типа /controller/action/{id}, я могу получить id в AuthorizeAttribute, выполнив httpContext.Request.RequestContext.RouteData.Values["id"].

И наоборот, если это что-то вроде /controller/action?id={id}, я могу получить это, выполнив httpContext.Request.QueryString["id"].

Мне понадобится еще один способ, если это данные формы из POST.

Есть ли способ сказать: «Получите то, что вы поместили бы в параметр с именем« id », независимо откак указан маршрут? "

1 Ответ

6 голосов
/ 08 марта 2011
var id = Request.RequestContext.RouteData.Values["id"] ?? Request.Params["id"] as string;

или если вы хотите дать привилегию параметрам GET и POST в пользу данных маршрута:

var id = Request.Params["id"] ?? Request.RequestContext.RouteData.Values["id"] as string;
...