儿童行动的行动链接

mav*_*era 3 c# action actionlink asp.net-mvc-3

我用Html.Action方法调用了另一个视图.当用户单击操作链接时,我想使用参数在子视图内调用相同的操作.

当我写这段代码时,我收到此错误消息:

Html.ActionLink("link", "Configure", new { id = 2 })
Run Code Online (Sandbox Code Playgroud)

"配置"操作只能由子请求访问.

我该如何处理这个问题?

编辑:我将尝试重新解释问题:

我的父视图是ConfigureMethod.cshtml.我称之为儿童观点:

@Html.Action("Configure", "Payment");
Run Code Online (Sandbox Code Playgroud)

它转到此控制器并在ConfigureMethod视图中返回actionresult(而不是partialview):

[ChildActionOnly]
public ActionResult Configure()
{

}
Run Code Online (Sandbox Code Playgroud)

在配置视图中我创建了一个类似的动作链接:

Html.ActionLink("link", "Configure", new { id = x.Id })
Run Code Online (Sandbox Code Playgroud)

应该转到这个控制器:

[ChildActionOnly]
public ActionResult Configure(int Id)
{

}
Run Code Online (Sandbox Code Playgroud)

但是,当写入childonly属性时,它会给出错误.当我删除此属性时,它可以工作,但结果直接来自,而不是在ConfigureMethod视图中.

谢谢.

Man*_*nas 8

我想指出两件事,

  1. 子操作仅用于呈现为PartialView.所以使用[ChildActionOnly]属性装饰意味着,这是必须返回的动作PartialViewResult.

  2. 当我们调用ActionLink()时,它将生成一个指向View not Partial View的链接.即使你不装饰[ChildActionOnly],那么链接到局部视图也没有意义.

因此,首先要确定是否需要视图或部分视图,然后进行相应的设计.