2014-11-21 4 views
0

나는 아래와 같은 기본보기가 있습니다.Asp.Net MVC 통과 매개 변수는

public PartialViewResult _StockGroupMenu(int? id) 
    { 
     var wrhStockGroup = db.WrhStockGroup.Include(w => w.RelatedWrhStockGroup).Where(p => p.RelatedWrhStockGroupId == id); 
     ViewBag.wrhRelatedStockGroupId = id; 
     ViewBag.stockGroupName = db.WrhStockGroup.Find(id).Name; 

     return PartialView(wrhStockGroup.ToList()); 
    } 


    public PartialViewResult _Index(int? stockGroupId) 
    { 
     var relatedStockCards = stockCardService.GetStockCardsByGroupId(stockGroupId); 
     ViewBag.stockGroupId = stockGroupId; 
     ViewBag.stockGroupName = db.WrhStockGroup.Find(stockGroupId).Name; 
     return PartialView(relatedStockCards); 
    } 

시나리오는 사용자가 그룹을 클릭하면, 내가 stockCardGroupContainer에 childGroupd 관련, 보여 또한 "stockCardContainer을"재고 카드를 표시해야하고,있다. 하지만 ViewBag.wrhRelatedStockGroupId _StockGroupMenu 메서드에서 설정하지만 다른 부분보기 때문에 두 번째 @ Html.Action 전달할 수 없습니다.

답변

0

여러 가지 방법이 있습니다. TempData을 사용해보십시오 - 다음 요청에 대한 데이터를 유지하고 자동으로 지워집니다.

TempData["wrhRelatedStockGroupId"] = id; 

그런 다음 당신의 다음 행동을 읽고 ViewBag에 넣어 : 컨트롤러 조치에 그래서, 데이터에 대한이 같은 것으로 ViewBag 과제와 라인을 대체, 다른 액션/부분보기로 전달해야 또는 귀하의 모델에서.