1
我想構建將添加到控制器級別的自定義過濾器屬性。我如何獲取當前正在調用的當前控制器,操作和參數名稱?獲取過濾器屬性中的控制器,操作參數
例子:如果我發出POST請求:https://localhost:443/api/users/delete/3
我怎樣才能得到我的屬性(我說的不是URL解析這裏)
- 控制器=用戶
- 行動=刪除
- ID = 3
我想構建將添加到控制器級別的自定義過濾器屬性。我如何獲取當前正在調用的當前控制器,操作和參數名稱?獲取過濾器屬性中的控制器,操作參數
例子:如果我發出POST請求:https://localhost:443/api/users/delete/3
我怎樣才能得到我的屬性(我說的不是URL解析這裏)
@Kamo已經爲提供重複的問題第一部分,標識,使用.ActionArguments
,如:
public override void OnActionExecuting(HttpActionContext actionContext)
{
var id = (int)actionContext.ActionArguments["id"];
ActionArguments是一本字典,所以你可以重複使用LINQ如果arg是可選的,或者你正在寫對自己的行爲的通用處理器(例如,以記錄每個動作的參數/參數)
這是由框架提供的,綁定之後,所以會匹配Action的參數 - 如果綁定不匹配動作,那麼即使應用您的filterabbtribute也不會踢入在控制器級別。你不能用它來找出你的路線爲什麼不符合你的行動。
你想創建一個過濾器或屬性? – Ramesh
@Ramesh基本上是一個過濾器的屬性:) – user2818430
@Kamo:接縫的問題在那裏回答我的前兩個問題與控制器和行動有關。那麼id參數呢? – user2818430