gpt4 book ai didi

asp.net-mvc-4 - 返回 View() 还是 PartialView()?如何决定?

转载 作者:行者123 更新时间:2023-12-04 02:49:19 24 4
gpt4 key购买 nike

我有一个 Action :

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)
{
...
}

生成不同的 View 。

Queti M. Porta 仍然感谢您!

最佳答案

您可以使用 ControllerContext.IsChildAction .

public ActionResult Foo()
{
if (ControllerContext.IsChildAction)
{
return PartialView("GetOrdersPartial", model);
}
return View("GetOrders", model);
}

此外,我建议使用 Html.RenderAction .

根据评论更新

我还要提到,根据我自己的经验,我从来没有必要这样做。要么你真的有一个完全不同的 View ,要么你没有意识到 PartialView 会返回一个没有布局的 View 。

关于asp.net-mvc-4 - 返回 View() 还是 PartialView()?如何决定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18117624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com