我在主页视图中调用Html.Action
,如下所示:
<li>
@Html.Action("IndexWithParams", "Factor", new {factorsRefId = Model.Id})
</li>
这是IndexWithParams
控制器中的Factor
:
[ActionName("IndexWithParams")]
public PartialViewResult Index(int factorsRefId)
{
var model = factorRepository.All.Where(c => c.FactorsRefId == factorsRefId);
int sum = model.Sum(c => c.Total);
return PartialView("_FactorDetails", model);
}
在_FactorDetails
我有一个简单的表格来显示数据。现在,我希望能够将_FactorDetails
中的一列的总和返回到调用Home
的{{1}}视图。我是怎么做到的?
编辑:我可以使用Html.Action
这样做:
Session
但我相信使用会话不是一个好习惯。不是其他任何正确的方式吗?
答案 0 :(得分:1)
只需创建另一个由额外字段和原始模型组成的模型:
public class BiggerModel
{
public YourModelsType Model { get; set; }
public int Sum { get; set; }
}
在你的行动中归还它:
var model = new BiggerModel
{
Model = factorRepository.All.Where(c => c.FactorsRefId == factorsRefId),
Sum = model.Sum(c => c.Total)
};
return PartialView("_FactorDetails", model);
当然,您也需要在局部视图中调整模型的使用情况。