gpt4 book ai didi

c# - Action 链接到子 Action

转载 作者:行者123 更新时间:2023-11-30 14:01:11 26 4
gpt4 key购买 nike

我已经使用 Html.Action 方法调用了另一个 View 。当用户单击操作链接时,我想在 subview 内使用参数调用相同的操作。

当我写这段代码时,我得到了这个错误信息:

Html.ActionLink("link", "Configure", new { id = 2 })

The action 'Configure' is accessible only by a child request.

我该如何处理这个问题?

编辑:我会尝试重新解释这个问题:

我的父 View 是 ConfigureMethod.cshtml。我这样称呼 subview :

@Html.Action("Configure", "Payment");

它转到这个 Controller 并在 ConfigureMethod View 中返回 actionresult(不是部分 View ):

[ChildActionOnly]
public ActionResult Configure()
{

}

在配置 View 中,我创建了一个这样的操作链接:

Html.ActionLink("link", "Configure", new { id = x.Id })

它应该转到这个 Controller :

[ChildActionOnly]
public ActionResult Configure(int Id)
{

}

但是,当写入 childonly 属性时,它会出错。当我删除此属性时,它会起作用,但结果会直接出现,而不是在 ConfigureMethod View 中。

谢谢。

最佳答案

有两点我想指出,

  1. 子操作只能呈现为 PartialView。所以用 [ChildActionOnly] 属性装饰意味着,这是必须返回 PartialViewResult 的 Action 。

  2. 当我们调用 ActionLink() 时,它会生成指向 View 而非局部 View 的链接。即使您不使用 [ChildActionOnly] 进行装饰,指向局部 View 的链接也毫无意义。

因此,首先决定您是想要 View 还是局部 View ,然后进行相应的设计。

关于c# - Action 链接到子 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8866920/

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