我有一个动作:
public ActionResult GetOrders(int id)
{
...
}
当我通过超链接(~/Order/GetOrders/1)访问它时,我希望 GetOrder 返回View()
整个页面。
通过时@Html.Action("GetOrders")
,我希望它返回 PartialView() 成为页面的一部分。
现在我使用 Erik Philips 的方法解决了这个问题。
public ActionResult GetOrders(int id)
{
var orders = db.Order.Where(a => a.AdCompanyID == id).ToList();
ViewBag.AdCompanyName = db.AdCompany.Where(a => a.ID == id).Select(a => a.Name).First().ToString();
if (ControllerContext.IsChildAction)
{
ViewBag.isPartial = true;
return PartialView(orders);
}
ViewBag.isPartial = false;
return View(orders);
}
@{Html.RenderAction("GetOrders", new { id = Model.ID });}
@Html.ActionLink("Related orders", "GetOrders", new { id = item.ID })
在 GetOrders.cshtml 中:
@if (ViewBag.isPartial == false)
{
...
}
生成不同的视图。
Queti M. Porta 非常感谢!