2013-08-07 3 views
1

문자열을 부분 뷰로 보내려면 어떻게해야합니까?MVC4의 부분 뷰에 문자열 (모델 외) 전달

내가보고 싶은 모델에 대한 정보를 부분보기로 보내고 싶습니다. 다음과 같이 입력하십시오 :

@{Html.RenderPartial("_PhaseCreate", new Phase(), @Model.Id);} 

이게 가능합니까? @Html.Action("ActionName", "Controller", routeValues: new { id = Model.Id }) 도우미를 사용하는 대신 @Html.Partial()의)

1 : 모델 또는보기에없는 일부 데이터를 보내려면

+0

ViewBag를 사용할 수 없습니까? 컨트롤러 또는 뷰에서 값을 설정하고 부분 뷰에서 액세스하십시오. 아직 자신을 확인하지 않았습니다. – SBirthare

+0

가능한 중복 http://stackoverflow.com/questions/7177153/mvc3-passing-data-beyond-the-model-to-partial-view. 시도하고있는 것에 특별한 문제가있는 경우, 직면 한 문제에 관한 오류나 더 많은 데이터를 공유하십시오. 정상적으로 달성하는 방법을 설명하는 많은 게시물이 있습니다. – SBirthare

답변

2

, 당신은 다음과 같은 것을 사용한다.

2) 컨트롤러에이 같은 추가 :

<label>@ViewBag.Id</label> 

또한 간단하게 사용할 수 있습니다

public ActionResult GetMyView(int id) 
{ 
    ViewBag.Phase = new Phase(); 
    ViewBag.Id = id; 
    // also whatever which doesn't in model ... 

    return View("_PhaseCreate"); 
} 

그리고 당신의 부분보기에, 당신은 당신이 그들을 선언처럼 그 정보를 사용할 수 있습니다 모델 및보기에있는 기존 데이터를 추가하기 만하면 다음과 같습니다.

@Html.Partial("_PhaseCreate", 
       new ViewDataDictionary(new { Phase = new Phase(), Id = Model.Id })) 

다음과 같이 사용하십시오 :

<label>@ViewData["Id"].ToString()</label> 
+0

감사합니다. Amin! 그게 효과가있어. – Gonzalo

관련 문제