2016-04-05 65 views
0

我有這樣ActionExecutingContext ActionParameters得到一個對象

public ActionResult ChangePassword(LG_CRD_PASSWORD_MODIFY_MAP pLG_CRD_PASSWORD_MODIFY_MAP) 
{ 
    .... 
} 

控制器和OnActionExecuting方法

protected override void OnActionExecuting(ActionExecutingContext filterContext) 
{ 
    var param = filterContext.ActionParameters; 
} 

我不能夠從對象參數

提取值

enter image description here

enter image description here

+1

相反,圖像顯示,你*確實*得到一個名爲'LG_CRD_PASSWORD_MODIFY_MAP'參數。如果它沒有你期望的*內容*,也許你應該發佈調用該動作的代碼。順便說一句,*爲什麼*你使用字典而不是單個參數,或者至少有一個類的屬性? –

+0

我得到了參數,但無法提取像「USER_ID」,「USER_NAME」,「NEW_PASSWORD」等單獨的對象屬性值。 –

+0

發佈進行操作調用的代碼。如果反序列化或MVC出現問題,您根本得不到參數。 –

回答

0

從字典檢索對象:

LG_CRD_PASSWORD_MODIFY_MAP extractedObj = param.Single(x => x.Key == "pLG_CRD_PASSWORD_MODIFY_MAP").value; 

例如:

var prop = extractedObj.CURRENT_PASSWORD; 
+0

仍然無法提取單個對象屬性:( –

+0

OP沒有詢問如何訪問參數,他已經有權訪問它們。爲什麼一些參數*值的屬性是空的 –

+0

雖然這可能可以回答這個問題,但最好提供一些關於代碼如何幫助的解釋。 – vard