2016-04-05 9 views
0

Ich habe einen Controller wie dieseActionExecutingContext ActionParameters bekommt ein Objekt

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

Und eine OnActionExecuting Methode

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

Ich bin in der Lage, nicht Werte aus dem Objektparameter zu extrahieren

enter image description here

enter image description here

+1

Im Gegenteil zeigen die Bilder, dass Sie * hat * den Parameter erhält namens 'LG_CRD_PASSWORD_MODIFY_MAP'. Wenn Sie nicht den erwarteten * Inhalt * haben, sollten Sie vielleicht den Code posten, der den Aufruf der Aktion auslöst. BTW, * warum * verwenden Sie ein Wörterbuch anstelle einzelner Parameter oder zumindest eine Klasse mit Eigenschaften? –

+0

Ich habe den Parameter, aber nicht in der Lage, einzelne Objekteigenschaften wie "USER_ID", "USER_NAME", "NEW_PASSWORD" usw. zu extrahieren –

+0

Veröffentlichen Sie den Code, der den Aktionsaufruf macht. Wenn es ein Problem mit der Deserialisierung oder MVC gab, würden Sie den Parameter überhaupt nicht bekommen. –

Antwort

0

Objekt aus Wörterbuch abrufen:

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

Zum Beispiel:

var prop = extractedObj.CURRENT_PASSWORD; 
+0

Immer noch nicht in der Lage, einzelne Objekteigenschaft zu extrahieren :( –

+0

Das OP fragt nicht, wie man Zugriff auf die Parameter erhält, er hat bereits Zugriff auf sie. Er fragt Warum einige der Eigenschaften des Parameters * value * leer sind –

+0

Während dies vielleicht die Frage beantworten kann, ist es besser, einige Erläuterungen dazu zu geben, wie dieser Code hilft .. – vard

Verwandte Themen