2009-04-21 4 views
0

다음과 같은 시도했지만 나던 작업 :asp.net mvc : UserController에 익명 형식을 전달하는 방법?

<%Html.RenderPartial("userControl",new {personID=Model.ID, name="SomeName"});%> 

usercontrol 있음 나는 개인 ID를 할당하는 아약스 양식에서 숨겨진 필드가 있습니다. 그것은 컴파일되지 않을 것이며 숨겨진 ID는 인식되지 않습니다.

답변

1

익명 형식에서 올바른 속성을 가져 오려면 RouteValueDictionary와 같은 도우미 클래스를 사용해야합니다.

아마도 RouteValueDictionary가 가장 쉽습니다. Model을 전달하여 인스턴스를 만들고 인덱스 연산자를 사용하여 값을 쿼리합니다.

예 :

<% 
    ViewData["PersonID"] = Model.ID; 
    ViewData["Name"] = "SomeName"; 
    Response.Write(
     Html.RenderPartial("userControl")); 
%> 

또는

:

<% 
    var modelDictionary = new RouteValueDictionary(Model); 
%> 
<input type="hidden" name="personID" value="<%= modelDictionary["personID"] %>" /> 
1

여기 (강력 모델이 훨씬 더 입력) 방법 왜 당신이 그렇게 할 것 잘 모르겠지만, 방금하면 다음과 같이하십시오.

<%=Html.RenderPartial("userControl")%> 

"userControl"도 강하게 입력하면 "Model.ID"를 읽을 수 있어야합니다

관련 문제