子操作的Actionlink
本文关键字:Actionlink 操作 | 更新日期: 2023-09-27 18:20:24
我用Html.Action
方法从另一个视图调用了一个视图。当用户单击操作链接时,我想在子视图内部使用参数调用相同的操作。
当我写这个代码时,我得到了这个错误消息:
Html.ActionLink("link", "Configure", new { id = 2 })
只有子请求才能访问操作"配置"。
我该如何处理这个问题?
编辑:我将尝试重新解释问题:
我的父视图是ConfigureMethod.cshtml。我这样调用子视图:
@Html.Action("Configure", "Payment");
它转到该控制器,并在ConfigureMethod视图中返回actionresult(而不是partialview):
[ChildActionOnly]
public ActionResult Configure()
{
}
在配置视图中,我创建了一个类似的操作链接:
Html.ActionLink("link", "Configure", new { id = x.Id })
它应该去这个控制器:
[ChildActionOnly]
public ActionResult Configure(int Id)
{
}
然而,当只写入childonly属性时,会出现错误。当我删除此属性时,它可以工作,但结果直接出现,而不是在ConfigureMethod视图中。
谢谢。
我想指出两件事,
-
子动作仅表示为PartialView。所以用
[ChildActionOnly]
属性装饰意味着,这是动作必须返回PartialViewResult
。 -
当我们调用ActionLink()时,它将生成一个指向View而非Partial View的链接。即使不使用
[ChildActionOnly]
进行装饰,指向局部视图的链接也毫无意义。
因此,首先决定是要视图还是局部视图,然后进行相应的设计。