gpt4 book ai didi

asp.net-mvc - MVC 路由返回错误 : Child actions are not allowed to perform redirect actions

转载 作者:行者123 更新时间:2023-12-02 03:31:50 26 4
gpt4 key购买 nike

我正在使用 nopCommmerce 3.40,MVC 5

我已经制作了插件并制作了一个 Action 路线

但是我得到的错误看起来像:

Error executing child request for handler'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'.

Child actions are not allowed to perform redirect actions

我的代码

[AdminAuthorize]
public ActionResult Configure()
{

return RedirectToRoute("PluginName.ActionName");
}

public ActionResult ActionName()
{
// i want to call/ return this from Configure mathod
}

路由提供者

routes.MapRoute("PluginName.ActionName", "Admin/Plugins",
new { controller = "Controller", action = "Action" },
new[] { "PluginName.ActionName.Controllers" }
).DataTokens.Add("area", "admin");

最佳答案

您收到的错误消息说明了一切。您不能在那里执行重定向。实际上,插件配置操作是使用子操作调用的,因此通常使用 [ChildActionOnly] 属性进行修饰。您可以在此答案中找到更详细的消息 Why are Redirect Results not allowed in Child Actions in Asp.net MVC 2 .

您应该重构您的代码以从其他地方调用重定向,例如主要操作或应用于主要操作的自定义操作过滤器。

但是,由于调用您的 Configure 操作的代码是您无法控制的,因为它属于 nopCommerce,而不是您的插件,您最好的办法是动态注入(inject)自定义操作过滤器并在那里执行重定向。

关于asp.net-mvc - MVC 路由返回错误 : Child actions are not allowed to perform redirect actions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26177353/

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