2017-10-31 1 views
0

이와 비슷한 문자열을 포함하는 ViewData가 있습니다.면도기에서 객체 값을 읽습니다.

{ Param1 = "1", Param2 = "2", Param3 = "3" } 

개체 면도기 변수로 설정하고 있지만이 값을 @ myVar.Param1과 같이 읽을 수 없습니다.

@{ 
    object myParameters = ViewData["parameters"]; 
} 

저는 JS에서는 그렇게하는 방법을 알고 있지만 Razor에서는 그렇지 않습니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

감사

+0

"문자열이 있습니다"라고 말하면보기 데이터를 그렇게 설정하는 것입니까? 'ViewData [ "parameters"] = "{Param1 = \"1 \ ", Param2 = \"2 \ ", Param3 = \"3 \ "}" " – AaronLS

+0

@AaronLS ViewData는 이와 같이 설정됩니다 변경)'new {parameters = new {Param1 = "1", Param2 = "2", Param3 = "3"}}'. 보기에서 읽기 그것은 당신이 술집없이 타자를 칠 것과 같이이다. –

답변

1

당신이 (컨트롤러) 다른 곳에서 정의 익명 형식의 개체를 사용하고 있기 때문에, 당신은 속성에 강한 입력 된 액세스 할 수 없습니다. 그러나 Eval을 사용할 수 있어야합니다 :

ViewData.Eval("parameters.Param1") 

이 모델의 클래스를 정의하는 것이 좋습니다.

1

myParameters 동적이어야한다 :

dynamic myParameters = ViewData["parameters"];

+0

이 접근법을 시도했지만 내 변수를 객체로 설정하는 것과 비교하면 아무런 변화가 없었습니다. –

관련 문제