我想知道这是否可以使用 Html.ActionLink()。
In conroller:我已经查询了我的数据库并将该数据传递给视图。
在视图中:我已经使用该数据来填充输入、标签等...但是我想通过将相同的数据传递回控制器来减少查询命中的数量,以便可以在另一个视图上使用它。这可以通过使用 Html.ActionLink() 将模型传递回控制器来完成吗?
控制器:
public ActionResult Account(int id, int? activelink, CombineModel CombineModel)
{
FetchLookupTables(CombineModel.Dwelling);
if (CombineModel == null)
{
return new FileNotFoundResult { Message = "No Account found for id " + id.ToString() };
}
else if (CombineModel.Dwelling == null)
{
CombineModel = new CombineModel()
{
Owner = OwnerDB.FindOne(GetUserId(), id),
Dwelling = DwellingDB.FindOne(GetUserId(), id),
Image = ImageDB.FindOne(GetUserId(), id)
};
return View(CombineModel);
}
else
{
return View(CombineModel);
}
}
看法:
@model Apartment.Models.CombineModel
@{
string[] names = {"Details", "Listings", "Profile"};
}
<ul>
@for(int i = 0; i < 3; i++)
{
<li>@Html.ActionLink(names[i],"Account", new { id = Model.Owner.ID, activelink = i, CombineModel = Model}, null)</li>
}
</ul>